package cm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class test201804012 {
public static void main(String[] args) {
// collections方法的使用
// collection是集合的顶级接口的名称,而collections是操作接口对象的方法集合,里边有一系列的静态方法。
// comparable用于某个类实现比较方法的接口,用于类对象自身与另一个对象比较,而comparator接口一般用于将这个比较器传入一个第三方比较方法中,
// List ls=Arrays.asList("i love you big sea".split(" "));
// P.sopl(Collections.max(ls).toString());//使用ls列表中元素类自定义的比较方法
// P.sopl(Collections.max(ls,new
// cp()).toString());//找出ls中最大的元素,使用列表中元素中类自定义的比较器比较。
// P.sopl(Integer.toString(Collections.indexOfSubList(ls,Arrays.asList("love"))));//返回一个目标list在源list中的索引。
// P.sopl(Integer.toString(Collections.lastIndexOfSubList(ls,Arrays.asList("love"))));//返回最后一个匹配列表的索引
// Collections.replaceAll(ls, new String("i"), "you");//替换列表ls中的旧元素“i”为“you”;
// P.sopl(ls.toString());//[you, love, you, big, sea]
// Collections.reverse(ls);
// P.sopl(ls.toString());//反转元素次序成功[sea, big, you, love, you]
// Collections.rotate(ls, 4);//将ls中的元素向后移动4个位置,将后面的元素移到前面来
// Collections.copy(ls, new ArrayList<>());//复制列表
// Collections.swap(ls, 1, 2);//将ls中的index=1和index=2的元素的值进行交换。
// 设定collection或map为不可修改,collection集合中不包括map。
// List ls=new ArrayList<>();
// ls=Collections.unmodifiableList(ls);
// P.sopl(ls.toString());//能够读取
// ls.add("string");//不能添加
// collection和map的同步控制
// hashmap,hashset、arraylsit都是线程不安全的,当有超过一个线程想要对他们进行修改时,就会出现线程安全问题。线程同步控制传入一个集合对象
// 返回对应集合对象的线程安全版本。
// List ls=Collections.synchronizedList(new ArrayList<>());
}
}
class cp implements Comparator<String> {
@Override
public int compare(String a0, String a1) {
return a0.length() > a1.length() ? 1 : a0.length() == a1.length() ? 0 : -1;
}
}
collections类方法使用总结
最新推荐文章于 2023-04-06 16:59:18 发布