当前位置 博文首页 > 文章内容

    Java中ArrayList集合的常用方法大全

    作者:shunshunshun18 栏目:未分类 时间:2021-01-23 14:44:05

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    ArrayList集合的创建

    非泛型

    创建ArrayList集合对象,可以添加任意Object子类元素至集合

    //非泛型创建的ArrayList集合对象可以保存任何类型的值
    ArrayList list = new ArrayList();
    list.add("str");//存入String类型数据
    list.add(23);//存入int类型数据
    list.add(2.5);//存入double类型数据
    list.add('c');//存入char类型数据
    

    泛型

    采用泛型创建ArrayList集合对象,只能添加泛型数据至集合

    //泛型创建的ArrayList集合对象,只能保存泛型数据
    ArrayList<String> list1 = new ArrayList<String>();
    //后面的泛型类型可以省略
    ArrayList<String> list2 = new ArrayList<>();
    list1.add("str1");
    list1.add("str2");
    //list1.add(23); 出现编译错误,list1只能存放String类型数据
    

    ArrayList集合的初始化

    无参构造

    使用无参构造方法,按照空数组的方式初始化内部数组elementData

    //内部数组为空
    ArrayList<String> list = new ArrayList<String>(); 
    //调用add()方法,空数组的长度变为10
    list.add("str");
    

    有参构造

    使用有参构造方法,按照指定的容量,初始化内部数组elementData

    //内部数组长度为38
    ArrayList<String> list02 = new ArrayList<String>(38); 
    

    常用方法

    1.add()方法

    作用:给集合添加元素;

    参数:①需要添加的元素②下标位置,需要添加的元素;

    返回:boolean类型值;

    ArrayList<String> list = new ArrayList<String>();
    // 添加元素(默认添加至集合的末尾)
    list.add("str1");
    list.add("str2");
    System.out.println(list);//输出:[str1, str2]
    // 添加元素至指定位置(list"头部"添加元素str3)
    list.add(0,"str3");
    System.out.println(list);//输出:[str3, str1, str2]
    

    2.addAll()方法

    作用:给集合添加集合;

    参数:①需要添加的集合;②下标位置,需要添加的集合;

    返回:boolean类型值;

    ArrayList<String> list1 = new ArrayList<String>();
    list1.add("str1");
    list1.add("str2");
    ArrayList<String> list2 = new ArrayList<String>();
    list2.add("str01");
    list2.add("str02");
    // 添加集合(默认添加至集合的末尾)
    list1.addAll(list2);
    System.out.println(list1);//输出:[str1, str2, str01, str02]
    // 添加集合至指定位置(list1"头部"添加集合list2)
    list1.add(0,list2);
    //输出:[str01, str02, str1, str2, str01, str02]
    System.out.println(list1);
    

    3.get()方法

    作用:根据下标获取集合中的元素;

    参数:下标位置(0——(list.size()-1)之间);

    返回:集合中的元素;

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    list.add("str3");
    list.add("str4");
    String str=list.get(2);
    System.out.println(str);//输出:str3
    

    4.size()方法

    作用:获取集合中的元素个数;

    参数:无;

    返回:int类型,集合的元素个数;

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    list.add("str3");
    list.add("str4");
    int n=list.size();
    System.out.println(n);//输出:4
    

    5.clear()方法

    作用:清除集合中的所有元素;

    参数:无;

    返回:无;

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    System.out.println(list);//输出:[str1, str2]
    list.clear();
    System.out.println(list);//输出:[]
    

    6.contains()方法

    作用:判断集合内是否存在指定元素;

    参数:指定元素;

    返回:boolean(true表示存在,false表示不存在);

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    list.add("str3");
    list.add("str4");
    System.out.println(list.contains("str2"));//输出:true
    System.out.println(list.contains("str5"));//输出:false
    

    7.indexof()方法

    作用:查找集合内的元素;

    参数:需要查找的元素;

    返回:int类型(找到返回下标,未找到返回-1);

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    list.add("str3");
    list.add("str4");
    System.out.println(list.indexof("str2"));//输出:1
    System.out.println(list.indexof("str5"));//输出:-1
    

    8.remove()方法

    作用:删除集合内的元素;

    参数:①指定下标位置;②指定元素;

    返回:①指定下标位置删除返回删除的元素值;②指定元素输出返回ture;

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    list.add("str3");
    list.add("str4");
    System.out.println(list.remove(1));//输出:str2
    System.out.println(list.remove("str4"));//输出:true
    

    9.set()方法

    作用:将指定下标位置改为指定元素;

    参数:指定下标,指定元素;

    返回:修改前的原值;

    ArrayList<String> list = new ArrayList<String>();
    list.add("str1");
    list.add("str2");
    list.add("str3");
    list.add("str4");
    System.out.println(list);//输出:[str1, str2, str3, str4]
    System.out.println(list.set(1,"str5"));//输出:str2
    System.out.println(list);//输出:[str1, str5, str3, str4]
    

    10.toArray()方法

    作用:将集合转换为数组;

    参数:①无参;②其他类型的数组对象;

    返回:①Object[ ];②指定类型的数组;

    // 快速创建并初始化一个List集合
    // 该集合对象类型为Arrays类的内部类ArrayList
    List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
    // 将集合内所有元素添加至heroList02
    ArrayList<String> list2 = new ArrayList<String>();
    list2.addAll(list1);
    Object[] array01 = list2.toArray(); //转换成Object数组
    String[] array02 = list2.toArray(new String[0]); // 转换成String类型数组
    

    11.subList()方法

    作用:在原集合中截取子集合;

    参数:开始下标, 结束下标;

    返回:子集合;

    List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
    ArrayList<String> list2 = new ArrayList<String>();
    list2.addAll(list1);
    //截取(0,3),即为0,1,2三个元素,区间[0,3)
    List<String> result= list2.subList(0, 3);
    System.out.println(result);//输出:[str1, str2, str3]
    

    12.sort()方法

    作用:对集合中的元素排序;

    参数:Comparator比较器接口实现类对象;

    返回:无;

    List<String> list1 = Arrays.asList("str8", "str4", "str6", "str3", "str2", "str9");
    ArrayList<String> list = new ArrayList<String>();
    list.addAll(list1);
    //new Comparator<String>()采用了匿名类对象,直接实现compare()方法
    list.sort(new Comparator<String>() {
    	public int compare(String o1, String o2) {
    		return o1.compareTo(o2);
    	}
    });
    System.out.println(list);//输出:[str2, str3, str4, str6, str8, str9]
    

    ArrayList集合的遍历

    List<String> list1 = Arrays.asList("str1", "str2", "str3", "str4", "str5", "str6");
    ArrayList<String> list = new ArrayList<String>();
    list.addAll(list1);
    // 方式1:使用for循环遍历集合list
    for (int i = 0, len = list.size(); i < len; i++) {
    	//输出:str1,str2,str3,str4,str5,str6,
    	System.out.print(list.get(i)+",");
    }
    System.out.println("-----------------------------------");
    // 方式2:使用迭代器遍历集合list
    // (1)获取当前集合对象的迭代器对象
    Iterator<String> it = list.iterator();
    // (2)使用迭代器遍历每个元素
    while (it.hasNext()) { 	//判断集合是否有下一个元素 
    	//输出:str1,str2,str3,str4,str5,str6,	
    	System.out.print(it.next()+",");//获取集合的下一个元素
    }
    System.out.println("-----------------------------------");
    // 方式3 : foreach遍历list
    for(String str : list) {
    	//输出:str1,str2,str3,str4,str5,str6,
    	System.out.print(str+",");
    }
    

    以上是ArrayList的常用方法,仅个人观点,若有不对的地方,希望各位大佬多多指正。

    总结