概述:
- 与数组不同的是,ArrayList集合的长度是可以随意变化的
- 类型只能是引用数据类型或者基本数据类型的包装类(java中引用数据类型有哪些?_小明的博客-CSDN博客_java引用数据类型有哪些)
1.创建ArrayList集合
//创建ArrayList集合
ArrayList<String> arrayList = new ArrayList<String>();
//int包装类
ArrayList<Integer> arrayList2 = new ArrayList<Integer>();
2.添加集合元素值
//创建ArrayList集合
ArrayList<String> arrayList = new ArrayList<String>();
//添加
arrayList.add("第一个");
arrayList.add("第二个");
arrayList.add("第三个");
arrayList.add("第四个");
arrayList.add("第五个");
System.out.println(arrayList);
3.获取集合元素值
//创建ArrayList集合
ArrayList<String> arrayList = new ArrayList<String>();
//添加
arrayList.add("第一个");
arrayList.add("第二个");
arrayList.add("第三个");
arrayList.add("第四个");
arrayList.add("第五个");
System.out.println(arrayList);
//根据索引获取集合中的元素元素
String onw = arrayList.get(0);
String tow = arrayList.get(4);
System.out.println(onw);
System.out.println(tow);
4.删除集合中的元素
//创建ArrayList集合
ArrayList<String> arrayList = new ArrayList<String>();
//添加
arrayList.add("第一个");
arrayList.add("第二个");
arrayList.add("第三个");
arrayList.add("第四个");
arrayList.add("第五个");
System.out.println(arrayList);
//删除集合中的元素
String remove = arrayList.remove(3);
System.out.println("删除的值是:"+remove);
System.out.println(arrayList);
注意:当需要在ArrayList中循环删除元素时,切记使用iterater遍历进行删除操作
//新建数组并填充
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(4);
list.add(5);
list.add(6);
list.add(8);
//[1,2,4,5,6,8]
//获取迭代器
//迭代器it的基本操作有:next、hasNext和remove。
//调用it.next()会返回迭代器的下一个元素,并且更新迭代器的状态。
//调用it.hasNext()用于检测集合中是否还有元素。
//调用it.remove()将迭代器返回的元素删除。
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
if(iterator.next() %2 == 0) {
//注意不要用list.remove()方法,否则会抛异常
iterator.remove();
}
}
//实际输出结果:[1,5]
//预测输出结果:[1,5]
System.out.println(list);//---------------------------------------------推荐
5.获取集合长度
//创建ArrayList集合
ArrayList<String> arrayList = new ArrayList<String>();
//添加
arrayList.add("第一个");
arrayList.add("第二个");
arrayList.add("第三个");
arrayList.add("第四个");
arrayList.add("第五个");
//获取集合长度
int size = arrayList.size();
System.out.println("ArrayList集合长度:"+size);
6.修改集合中指定元素
ArrayList < String > arr_l = new ArrayList < String > (10);
arr_l.add("C");
arr_l.add("C++");
arr_l.add("JAVA");
arr_l.add("DOTNET");//修改索引为3的元素
arr_l.add("PHP");
arr_l.set(3,Python);//修改索引为3的元素
7.利用Collections中的reverse()方法将ArrayList集合中的元素反转
ArrayList<Integer> lists = new ArrayList<Integer>();
// 初始化10个测试数据
for (int i = 0; i < 10; i++) {
lists.add(i);
}
// 打印测试数据
for (Integer n : lists) {
System.out.print(n + " ");
}
// 反转lists
Collections.reverse(lists);
// 换行打印
System.out.println();
// 打印测试数据
for (Integer n : lists) {
System.out.print(n + " ");
}
}
}
打印结果:
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0