Java – Collections集合工具类

简介

Collections是由Java提供的专用于 List 类数组的工具类,所有方法都为静态方法,无需创建实例对象

 

Collections常用API

 

addAll()

语法:

public static boolean addAll(Collection<? super T> c, T... elements)

说明:

提供一个List类,并传入多个成员,即可,返回 boolean.

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");  // => true

 

shuffle()

语法:

public static void shuffle(List<?> list)

public static void shuffle(List<?> list, Random rnd)

说明:

打乱List里面的成员数据

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");

Collections.shuffle(list);

 

 

 

sort()

语法:

public static <T extends Comparable<? super T>> void sort(List<T> list)

public static <T> void sort(List<T> list, Comparator<? super T> c)

说明:

对数组进行默认排序,或自定义规则排序

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");

Collections.sort(list);

Collections.sort(list, (o1,o2) -> o1.length - o2.length);

 

binarySearch()

语法:

public static <T>
int binarySearch(List<? extends Comparable<? super T>> list, T key)

说明:

以二分查找法查找元素

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");

Collections.binarySearch(list,“123”);

 

copy()

语法:

public static <T> void copy(List<? super T> dest, List<? extends T> src)

说明:

拷贝集合中的元素

ArrayList<String> list = new ArrayList<>();

ArrayList<String> dist = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");
Collections.addAll(dist, "", "", "");

Collections.copy(dist,list);

注意:源集合中的数据会覆盖新集合,如果源集合数量大于新集合,会报错。

 

fill()

语法:

public static <T> void fill(List<? super T> list, T obj)

说明:

使用指定的元素填充集合

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");

Collections.copy(list,"other");

 

 

max/min()

语法:

public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)

public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)

 

说明:

根据默认的自然排序获取最大最小值

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");

Collections.max(list);
Collections.min(list);

 

String中默认是按照字母的abcdefg顺序进行排列的

如果默认的规则无法满足,可以自己指定规则,使用匿名内部类或Lambda自定义比对规则。

Collections.max(list, new Comparator<String>() {
   @Override
   public int compare(String o1, String o2) {
       return o1.length() - o2.length();
    }
});

 

 

swap()

语法:

public static void swap(List<?> list, int i, int j)

说明:

交换集合中的指定位置的元素

ArrayList<String> list = new ArrayList<>();

Collections.addAll(list, "abc", "123", "kkk");

Collections.swap(list, 2, 3);

 

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

THE END
分享
二维码
打赏
海报
Java – Collections集合工具类
Collections是由Java提供的专用于 List 类数组的工具类,所有方法都为静态方法,无需创建实例对象
<<上一篇
下一篇>>