二叉树、Collections的比较器工具、迭代

本文探讨了Java中的迭代器使用,强调在迭代过程中不能直接使用集合的remove方法,而应使用iterator.remove()。同时介绍了增强型for循环(forEach)的便利性。接着讲解了Collections工具类的sort方法,包括如何进行排序以及Comparator接口的作用。文章还讨论了二叉树的特点和中序遍历,并提及JavaBean规范,如私有成员、getter/setter方法、构造器、toString、equals和hashCode的重写。
摘要由CSDN通过智能技术生成

一。迭代器
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值