栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

list集合遍历及删除注意事项

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

list集合遍历及删除注意事项

package com.github.wxiaoqi.security.generator.controller;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class test {
    public static void main(String[] args) {
        //进来方法后,首先初始化ArrayList,在走断点
        System.out.println("22");
        // 初始化参数为-1 就会报错java.lang.IllegalArgumentException: Illegal Capacity: -1
        // list最大值是 2147483638 2的31次方-8 超过这个值,系统就报内存溢出
        // 报错:java.lang.OutOfMemoryError: Requested array size exceeds VM limit
        // Object [] objects=  new Object[2147483638];;

        List lists = new ArrayList(3);
        System.out.println("333");
  for(int i=0;i<10;i++){
      lists.add(""+i);
  }
        //这样不会报错,可以删除list中元素
//         int l_size=lists.size();
//        for(int i=l_size-1;i>=0;i--){
//            if(lists.get(i).equals("2")){
//               lists.remove("2");
//            }
//        }

     //这样会引起下标越界,因为list移除一位,size减一,但是i是自增的
        // 报错:java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
//     int l_size=lists.size();
//        for(int i=0;i 0)
        //            System.arraycopy(elementData, index+1, elementData, index,
        //                             numMoved);
        //        elementData[--size] = null; // clear to let GC do its work
        //    }
//        for(String s :lists){
//            if(s.equals("4")){
//                lists.remove(s);
//            }
//        }
      //如果是倒数第二位,不会报错,cursor和size是一样,最后一位不遍历
//        for(Iterator i = lists.iterator(); i.hasNext();){
//            String s = (String)i.next();
//            if(s.equals("3")){
//                lists.remove(s);
//            }
//        }

//        Iterator it = lists.iterator();
//        while(it.hasNext()){
//            String x = it.next();
//            if(x.equals("8")){
//                it.remove();  //这个是跌倒器的remove,不是lists.remove
//                //  lists.remove("8"); //这样会报错
//            }
//        }
//        System.out.println(lists);
        //jdk1.8,集合数越多,扩容数量就越大,
//    int oldCapacity =1000;
//        int is= oldCapacity>>1;    //根据size,右移动,在扩容
//       int iss= Integer.MAX_VALUE - 8;
//        System.out.println("===="+iss);

        //挨个删除list元素




    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号