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

时间:2017-02-22 19:44:32

标签: 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,最大值2是82,这是索引2.所以我希望它打印索引为2而不是0。

  • 我有什么办法吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

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

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

Here也是一个例子。