一。迭代器
1.迭代器中使用迭代, 然后直接使用 集合.remove(迭代出的元素)
异常: ConcurrentModificationException
安全隐患
解决: 不能在迭代器内部使用集合自己的remove方法
用 iterator.remove() 来替代
remove(): 删除当前游标所在位置的元素
不会改变游标位置
2.迭代器的简化 -> 增强for循环 forEach
for(每一次迭代出来的元素临时变量 : 要迭代的集合/数组) {
}
例如:
for(String s : col) {
System.out.println(s);
}
注意: forEach只能遍历元素使用, 不能迭代移除
public class foreach {
public static void main(String[] args) {
//forEarch迭代
int[] m={
3,7,4,9,12};
for (int v: m){
System.out.println(v);
}
System.out.println("-------------------------");
List<String> kko=new ArrayList<>();
kko.add("2");
kko.add("9");
kko.add("5");
kko.add("8");
Iterator<String> it=kko.iterator();//迭代
while (it.hasNext()){
String xx=it.next();
System.out.println(xx);
}
for(int i=0;i<kko.size();i++){
kko.remove(i);
i--;
}
System.out.println(kko);
}
}
二。java.util.Collections: 集合相关的工具类
Arrays.sort(a, (Comparator) c); c->null
if (c == null) {
sort(a); -> ((Comparable) dest[j-1]).compareTo(dest[j])>0; j–)
} else {
c.compare(pivot, a[mid])
}
Collections.sort(list, new Comparator)
Comparator <? super T>
1.sort(List) -> 给List排序, 所有元素必须是可比较的
Collections.sort(list):①当c==null,调用Collections的sort(list)方法。先要把Student类继承Comparable接口,然后Stude