目录
常用方法
逆序
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+");