列表有下标,是一个可变容器,元素可以重复,Java中list包含arraylist和linklist,通常使用的是arraylist,查询速度更快,导入的包是java.util.ArrayList。
1、定义列表
定义列表时,如果指定列表接受的数据类型为8大数据类型,需要使用对应数据类型的包装类;列表是一个可变容器,定义后默认元素为空。
//创建一个list
List<String> animallist = new ArrayList<>();
//创建一个ArrayList,接受数据类型为String
ArrayList <String> arlist = new ArrayList <String>();
//创建一个ArrayList,接受数据类型为Int
ArrayList <Integer> brlist = new ArrayList <Integer>();
2、增删改操作
(1)新增
新增主要使用add方法,默认在尾部添加,也可以在指定位置添加,addAll方法可以添加整个集合到列表。
List<String> animallist = new ArrayList<>();
//默认尾部添加
animallist.add("dog");
animallist.add("cat");
animallist.add("fish");
//在指定位置添加
animallist.add(1,"fish");
animallist.add(3,"bird");
animallist.add(5,"cat");
ArrayList <String> arlist = new ArrayList <String>();
//将animallist中的元素添加到arlist
arlist.addAll(animallist);
(2)删除
列表中的元素,可以使用remove方法根据下标删除,也可以根据值删除,如果有多个重复的值,默认删第一个。也可以使用clear方法删除所有元素。
animallist.remove(1);
animallist.remove("cat");
arlist.clear();
(3)修改
列表中的元素,可以使用set方法修改元素值,操作时如果下标越界则会报错 。也可以使用replaceAll方法将给定的操作内容替换掉列表的中每一个元素。
animallist.set(3, "snake");
animallist.set(4, "snake");//执行结果报错java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
//replaceAll方法替换掉所有元素
animallist.replaceAll(a -> a +"s");//在所有元素后加上s
3、访问列表
列表可以直接输出;size方法可以获取到列表的长度,get方法可以通过索引获取到列表对应元素,indexOf方法可以获取对应元素的索引。
// 输出整个列表
System.out.println(animallist);
// 输出列表的长度
System.out.println(animallist.size());
// 通过索引获取列表对应元素
System.out.println(animallist.get(1));
// 获取列表元素的索引值
System.out.println(animallist.indexOf("birds"));
输出结果为:
4、遍历列表
遍历列表主要有3种方式,for循环遍历,foreach遍历,iterator迭代器遍历。
(1)for循环遍历
for循环通过列表的下标遍历。
// for循环下标遍历
for (int index = 0; index < animallist.size(); index += 2) {
System.out.print(animallist.get(index) + " ");
}
(2)foreach遍历
foreach直接遍历列表中的元素。
// foreach遍历
for (String s : animallist) {
System.out.print(s + " ");
}
(3)iterator迭代器遍历
//iterator迭代器遍历
Iterator<String> lit = animallist.iterator();//声明list的迭代器
while (lit.hasNext()) {
String value = lit.next();
System.out.println(value + " ");
}
5、列表转换
列表可以通过对应方法直接转为数组或字符串。toArray将 arraylist 转换为数组;toString将 arraylist 转换为字符串。
// 列表转为数组
String[] animals=new String[4];
animallist.toArray(animals);
// 遍历数组
for (String i:animals){
System.out.println(i);
}
// 列表转为字符串
System.out.println(animallist.toString());
输出结果为:
6、其他操作
列表的一些其他操作包括:
sort方法------对arraylist 元素进行排序;
subList方法------截取部分 arraylist 的元素;
isEmpty方法------判断 arraylist 是否为空;
contains方法------判断元素是否在 arraylist;文章来源:https://www.toymoban.com/news/detail-429377.html
// 升序排列
animallist.sort(Comparator.naturalOrder());
System.out.println(animallist);
// 按照列表索引截取部分列表
System.out.println(animallist.subList(1, 3));//索引区间左闭右开
// 判断是否为空
System.out.println(animallist.isEmpty());
// 判断是否包含某元素
System.out.println(animallist.contains("dogs"));
输出结果是:
文章来源地址https://www.toymoban.com/news/detail-429377.html
到了这里,关于Java中列表的基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!