最好不要遍历list获取索引值。
还肯前辈们赐教。拜托。
5 个解决方案
#1
Collections.min()的底层实现就已经迭代了一次集合了,你要找出这个索引肯定还是要遍历集合的。所以你可以自己写一个迭代,同时找出数据和索引。
#2
欸,我想能够直接调用java类库中提供的什么就获取到的。(。・∀・)ノ゙嗨呀,好麻烦。
#3
这种场景在数据是乱序的情况下,自己写循环是最快速的。
#4
好的,谢谢啦。
#5
List<Integer> numList = new ArrayList<Integer>();
numList.add(12);
numList.add(33);
numList.add(11);
numList.add(55);
numList.add(66);
int maxNum = Collections.max(numList);
int minNum = Collections.min(numList);
System.out.println("最大值:"+maxNum+" 索引:" + numList.indexOf(maxNum));
System.out.println("最小值:"+minNum+" 索引:" + numList.indexOf(minNum));
numList.add(12);
numList.add(33);
numList.add(11);
numList.add(55);
numList.add(66);
int maxNum = Collections.max(numList);
int minNum = Collections.min(numList);
System.out.println("最大值:"+maxNum+" 索引:" + numList.indexOf(maxNum));
System.out.println("最小值:"+minNum+" 索引:" + numList.indexOf(minNum));
#1
Collections.min()的底层实现就已经迭代了一次集合了,你要找出这个索引肯定还是要遍历集合的。所以你可以自己写一个迭代,同时找出数据和索引。
#2
欸,我想能够直接调用java类库中提供的什么就获取到的。(。・∀・)ノ゙嗨呀,好麻烦。
#3
这种场景在数据是乱序的情况下,自己写循环是最快速的。
#4
好的,谢谢啦。
#5
List<Integer> numList = new ArrayList<Integer>();
numList.add(12);
numList.add(33);
numList.add(11);
numList.add(55);
numList.add(66);
int maxNum = Collections.max(numList);
int minNum = Collections.min(numList);
System.out.println("最大值:"+maxNum+" 索引:" + numList.indexOf(maxNum));
System.out.println("最小值:"+minNum+" 索引:" + numList.indexOf(minNum));
numList.add(12);
numList.add(33);
numList.add(11);
numList.add(55);
numList.add(66);
int maxNum = Collections.max(numList);
int minNum = Collections.min(numList);
System.out.println("最大值:"+maxNum+" 索引:" + numList.indexOf(maxNum));
System.out.println("最小值:"+minNum+" 索引:" + numList.indexOf(minNum));