Java中列表的基本操作

列表有下标,是一个可变容器,元素可以重复,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;

// 升序排列
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"));

输出结果是:
在这里插入图片描述

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里有阳光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值