Java :集合List 元素的位置转换

这篇博客介绍了如何在Java中处理ArrayList对象集合,确保某个特定对象位于列表的最后位置。通过使用Collections.swap()方法,可以实现这一目标。示例代码展示了非对象集合和对象集合的处理方式,强调了swap()方法的使用及可能出现的索引异常情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合List 元素的位置转换

需求说明:在和前端交互的时候,有对数据特殊要求(前端,后端都可以处理,这里是后端处理),所以需要对当前返回给前端的一个ArrayList<对象> 集合进行处理,确保某个对象信息 在list的最后一位;
非对象集合处理代码如下:

ArrayList<String> stringArrayList = new ArrayList<>( );
stringArrayList.add("1");
stringArrayList.add("1");
stringArrayList.add("2");
stringArrayList.add("1");
stringArrayList.add("1");

System.out.println(new Gson().toJson(stringArrayList) );
Collections.swap(stringArrayList, stringArrayList.indexOf("2"), stringArrayList.size()-1);
System.out.println(new Gson().toJson(stringArrayList) );

运行结果:运行结果

对象集合代码如下:

for (Data data: dataList) {
	if (StringUtil.isNotNull(data.getName()) && "张三".equals(bean.getName())){
		Collections.swap(dataList, dataList.indexOf(bean), dataList.size()-1);
	}
}

核心代码

Collections.swap(endList, endList.indexOf(bean), endList.size()-1);

集合类swap()方法
大概说明:
swap()方法在java.util包中可用。
swap()方法用于将给定列表(l)中索引为f1的元素与索引为f2的元素交换。
swap()方法是一个静态方法,可以通过类名进行访问,如果尝试使用类对象访问该方法,那么也不会出现任何错误。
swap()方法在分配索引时可能会引发异常:
IndexOutOfBoundsException:当给定索引f1或f2不在范围内时,可能引发此异常。

语法:

public static void swap(List l , int f1, int f2);

参数:

列表l  :表示交换元素的列表。
int f1  :表示要与其他元素f2交换的f1元素的索引。
int f2  :表示要与其他元素f1交换的f2元素的索引。

返回值:

此方法的返回类型为void,它不返回任何内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值