java基础-List常用方法

目录

常用方法

逆序

Collections.reverse(List)

升序

Collections.sort(List)

List<自定义类>排序

首先让自定义类实现Comparable<自定义类名称>,举例:

java 复制代码
public class Order implements Comparable<Order> {
	...
	@Override
	public int compareTo(Order o) {
		return this.createTime.compareTo(o.getCreateTime());
	} // 注意java.util.Date不能用<=>比较,但是该类实现了Comparable接口
}

在需要排序处:

java 复制代码
List<Order> orders = new ArrayList<>();
// 填充数据
// 升序:
Collections.sort(orders);
//降序:
Collections.sort(orders, Collections.reverseOrder());

List删除元素

单一删除的话,可以用List自带的remove,然后break。不然如果是删index0,有可能死循环没结果。

推荐使用Iterator删除,因为不需要跳出循环

java 复制代码
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;

class Rextester {
	
	public static void main(String[] args) {
		List<String> list1 = new ArrayList<>();
        list1.add("aa");
        list1.add("bb");
        list1.add("cc");
		System.out.println(list1.size());
		Iterator<String> it = list1.iterator();
		while(it.hasNext()) {
			String x = it.next();
			if(x.equals("aa") || x.equals("cc")) {
				it.remove();
			}
		}
		/*for(String x: list1) {
			if(x.equals("aa")) {
				list1.remove(x);
				break;
			}
		}*/
        System.out.println(list1.size());
		for (String str : list1) {
		    System.out.println("*"+str+"*");
		}
	}
}

List转String数组

java 复制代码
List<String> result = new ArrayList<String>();
return result.toArray(new String[result.size()]);

List的add函数

如果连续几次添加同一个对象,期间如果对象的值发生改变,那存的就是最后的值,几个相同。

查找一个,分隔的字符串中是否有某值

split函数返回的是字符串数组,contains函数返回true或者false

java 复制代码
import java.util.Arrays;
String[] temp = synonym.split(",");
Arrays.asList(temp).contains(name)

根据.分割字符串

分割符是 . 的时候一定要小心,需要转义String[] temp = fileName.split("\\.");当分隔的结果数组,后面有空格的时候,会被split函数删掉 ,比如",123,,"用 , 作分隔符split的时候,结果的长度为2。前面有空格则无碍。

根据空格分隔字符串

java 复制代码
String b = "Hello Java World";
String [] c = b.split("\\s+");
相关推荐
better_liang10 分钟前
每日Java面试场景题知识点之-如何设计分布式锁
java·redis·zookeeper·面试·分布式锁
战族狼魂11 分钟前
集 “自动飞行、智能识别、实时预警、勤务联动” 于一体的高速公路应急车道无人机检测系统方案
java·人工智能·大模型·无人机
一只鹿鹿鹿18 分钟前
信息化项目管理规范(参考Word文件)
java·大数据·运维·开发语言·数据库
Java小白笔记19 分钟前
Linux 手动部署 Oracle JDK 17 完全指南
java·linux·oracle
夕除20 分钟前
实战--2
java·spring boot·spring
Chase_______26 分钟前
【Java杂项】final 关键字详解:变量、方法、类限制与引用可变性
java·开发语言·python
磊 子1 小时前
STL之deque和list以及两者与vector的对比
开发语言·c++·list
凤山老林1 小时前
DDD(领域驱动设计)在复杂业务系统中的落地指南
java·开发语言·数据库·ddd·领域驱动
JEECG低代码平台1 小时前
JimuChatBI — 首款免费开源的 Java 智能问数ChatBI平台,零成本接入,AI对话式智能分析
java·人工智能·开源·aigc·人工智能低代码
星梦清河2 小时前
Java—异步编程
java·开发语言