Java中ArrayList集合的常用方法大全
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的常用方法,仅个人观点,若有不对的地方,希望各位大佬多多指正。
总结
到此这篇关于Java中ArrayList集合的文章就介绍到这了,更多相关Java ArrayList集合常用方法内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
相关文章
- 这篇文章主要介绍了如何利用java语言实现经典《复杂迷宫》游戏,文中采用了swing技术进行了界面化处理,感兴趣的小伙伴可以动手试一试...2022-02-01
java 运行报错has been compiled by a more recent version of the Java Runtime
java 运行报错has been compiled by a more recent version of the Java Runtime (class file version 54.0)...2021-04-01- 这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
- 这篇文章主要介绍了Java如何发起http请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-31
- 说起C#和Java这两门语言(语法,数据类型 等),个人以为,大概有90%以上的相似,甚至可以认为几乎一样。但是在工作中,我也发现了一些细微的差别...2020-06-25
- 这篇文章主要介绍了解决Java处理HTTP请求超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
- 这篇文章主要介绍了java 判断两个时间段是否重叠的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
java 画pdf用itext调整表格宽度、自定义各个列宽的方法
这篇文章主要介绍了java 画pdf用itext调整表格宽度、自定义各个列宽的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
Java使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)
这篇文章主要介绍了Java使用ScriptEngine动态执行代码,并且分享Java几种动态执行代码比较,需要的朋友可以参考下...2021-04-15- 这篇文章主要介绍了Java开发实现人机猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-03
- 这篇文章主要介绍了Java List集合返回值去掉中括号('[ ]')的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-29
Java中lombok的@Builder注解的解析与简单使用详解
这篇文章主要介绍了Java中lombok的@Builder注解的解析与简单使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-06- 下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
Java 8 Stream 的终极技巧——Collectors 功能与操作方法详解
这篇文章主要介绍了Java 8 Stream Collectors 功能与操作方法,结合实例形式详细分析了Java 8 Stream Collectors 功能、操作方法及相关注意事项,需要的朋友可以参考下...2020-05-20- 这篇文章主要介绍了Java线程池中的各个参数如何合理设置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-19
- 在Java中,我们可以利用多线程来最大化地压榨CPU多核计算的能力,下面这篇文章主要给大家介绍了关于java中多线程与线程池基本使用的相关资料,需要的朋友可以参考下...2021-09-13