java - 如果存在重复元素,如何获取列表中元素的索引

标签 java list arraylist

List<List<Integer>> triangle = new ArrayList<List<Integer>>();
    triangle.add(Arrays.asList(75));
    triangle.add(Arrays.asList(64, 94));
    triangle.add(Arrays.asList(82, 47, 82));
    int max = 0;
    int x = 0;
    int y = 0;
    int sum = 75;
    int j = 0;


    for (int i = 1; i < triangle.size() - 1; i++) {
        FOUND: {
            for (j = j; j <= triangle.get(i).size(); j++) {
                x = triangle.get(i).get(j);
                y = triangle.get(i).get(j + 1);
                max = Math.max(x, y);
                int index = triangle.get(i).indexOf(max);
                System.out.println("INDEX: "+index);
                j = index;
                sum += max;
                break FOUND;    
             }
        }
    }
}



在比较时,让我们说47和82 x.add(Arrays.asList(82, 47, 82))之间。这里47在索引1处,而82在索引2处,两个的最大值是82,在索引2处。所以我希望它将索引打印为2而不是0。
有什么办法可以做到吗?任何帮助表示赞赏!

最佳答案

您可以使用lastIndexOf方法获取该元素的最后一个索引,例如:

int index = triangle.get(i).lastIndexOf(max);
System.out.println("INDEX: "+index);


Here是相同的一个例子。

关于java - 如果存在重复元素,如何获取列表中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42400841/

相关文章:

java - 插入键时自定义等于/哈希( Guava 缓存)

java - 使用回溯递归的 8 皇后问题

c# - 检查一个列表是否按顺序包含另一个列表中的所有项目

Java泛型不完全理解

java - 使用另一个 ArrayList 中的 ArrayList 处理复杂的 JSON 响应

java - 如何通过输出流发送字节数组中大于 127 的值

java - Spring 将自定义 bean Autowiring 到它自己的类中

C# - 根据一些匹配值将列表项合并为一项

java - 在java中通过网络发送列表

java - Xpages - 在 Arraylist 中传递 <ahref>