package collectionApi;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class CollectionsApi {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("R");
list.add("A");
list.add("C");
list.add("Z");
Collections.sort(list); // 正序排列
//System.out.println(list); // [A, C, R, Z]
Collections.sort(list, new Comparator<String>() { // 倒序
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
});
//System.out.println(list); // [Z, R, C, A]
Collections.reverse(list); // 顺序颠倒
//System.out.println(list); // [A, C, R, Z]
Collections.shuffle(list); // 随机排序
//System.out.println(list); // [C, R, Z, A]
list.sort(null);
Collections.swap(list, 1, 3); // 交换元素位置
//System.out.println(list); // [A, Z, R, C]
Collections.fill(list, "E");
//System.out.println(list); // [E, E, E, E]
List<String> list2 = new ArrayList<>();
list2.add("F");
list2.add("E");
list2.add("A");
Collections.copy(list, list2); // 赋值list2 到 list 中 剩余的保留 其他替换
//System.out.println(list); //[F, E, A, E]
String min = Collections.min(list); // 返回最小元素
//System.out.println(min); // A
min = Collections.min(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) { // 根据比较器返回集合最小值
return o2.compareTo(o1);
}
});
// System.out.println(list); // [F, E, A, E]
// System.out.println(min); // F
String max = Collections.max(list); // 最大值 方法同min
Collections.rotate(list, -1); // 所有元素向前后移动 正数 表示向后 负数表示向前
// System.out.println(list); // [E, A, E, F]
Collections.replaceAll(list, "E", "G"); // 替换元素
// System.out.println(list); // [G, A, G, F]
list2.clear();
list2.add("A");
list2.add("G");
int nPos = Collections.indexOfSubList(list, list2); // list2 在list 中出现的位置
// System.err.println(nPos); // 1
nPos = Collections.lastIndexOfSubList(list, list2); // 最后一次出现的位置
Collection<String> collect = Collections.unmodifiableCollection(list); // 返回一个只读的集合
Set<String> set = new HashSet<>();
Collections.unmodifiableSet(set); // 同上
Collections.synchronizedCollection(list); // 返回同步集合
Collections.emptyList();
List<String> list3 =Collections.singletonList("EE"); //返回一个只包含指定对象的不可变列表
List<String> list4 = Collections.nCopies(5, "SS"); //
System.out.println(list4); // [SS, SS, SS, SS, SS]
Collections.reverseOrder(); // 字典反序 返回比较器
list.sort(Collections.reverseOrder()); //
System.out.println(list); // [G, G, F, A]
Collections.reverseOrder(new Comparator<String>() { // 反序
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return 0;
}
});
Enumeration<String> enumeration = Collections.enumeration(list); // 元素转成枚举
list = Collections.list(enumeration);
int nTime = Collections.frequency(list, "G"); // 返回出现的次数
System.out.println(nTime);
boolean bSame = Collections.disjoint(list, list2); // 两个集合有没有相同的元素
Collections.addAll(list, "we", "we", "wea");
System.out.println(list); // [G, G, F, A, we, we, wea]
}
}
Collections Api 详解
最新推荐文章于 2023-05-11 19:50:49 发布