List中一些知识(项目中有时候会碰到,于新手而言)

1.有关list中报空指针异常的问题:

a.没有对list进行初始化,系统没有给list分配内存空间,此时对list进行操作(add,遍历,.size())都会报空指针异常

List list = null;
list.size();
这样就会java.lang.NullPointerException

b.进行了初始化,但是给list的值为null,调用也会报空指针

List list = new ArrayList();
list = null;
list.size();
这样也会java.lang.NullPointerException

c.所以在不确定list是否有值得情况而进行操作,最好在操作之前先判断,若!list.isEmpty(),在进入操作。

2.list中进行去重的两种方法

        List list1 = new ArrayList();
        List list2 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        list1.add(1);
        list1.add(4);
//第一种方法:
    HashSet hs = new HashSet(list1);//去重完成
    list1.clear();
    list1.addAll(hs);

//第二种方法:
for(int i=0; i<list1.size(); i++){
 Integer str = (Integer)list1.get(i); //获取传入集合对象的每一个元素
 if(!list2.contains(str)){ //查看新集合中是否有指定的元素,没有则加入
            list2.add(str);
        }
    list2即为去重后的新集合

3.在两个list进行嵌套循环的时候,注意,在内循环中不要对外循环的list进行各种(add,remove等)操作,会破坏循环结构。对内循环自身的list进行操作后,一定要及时break;重新开始循环。

for(int i=0;i<li.size();i++){
    for(int j= 0;j<lis.size();j++){                if((li.get(i).get("output_id")).equals((lis.get(j).get("output_id")))){
            lis.remove(j);
            break;
        }
    }   
}

4.先总结几点,菜鸟总是要不断进步的。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值