网站文案框架,做网站图片多少钱,天猫网站建设的理由,wix做网站的建议常用工具类——Collections集合框架
Collections 是 JDK 提供的一个工具类#xff0c;提供了一系列静态方法#xff0c;分类来复习#xff01;
1.排序操作
reverse(List list) :反转顺序shuffle(List list) #xff1a; 洗牌#xff0c;将顺序打乱sort(List list) 提供了一系列静态方法分类来复习
1.排序操作
reverse(List list) :反转顺序shuffle(List list) 洗牌将顺序打乱sort(List list) 自然升序sort(List list, Comparator c) 按照自定义的比较排序swap(List list, int i, int j) 将 i 和 j 的位置元素交换
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class CollectionsTools {public static void main(String[] args) {ListString list new ArrayList();list.add(A);list.add(B);list.add(C);list.add(D);list.add(E);list.add(F);System.out.println(初始顺序: list);// 反转顺序Collections.reverse(list);System.out.println(反转后的顺序 list);// 洗牌Collections.shuffle(list);System.out.println(洗牌后的顺序 list);// 自然升序Collections.sort(list);System.out.println(自然升序后的顺序 list);// 交换Collections.swap(list, 0, 1);System.out.println(交换后的顺序 list);}
}Result
初始顺序:[A, B, C, D, E, F]
反转后的顺序[F, E, D, C, B, A]
洗牌后的顺序[B, E, F, C, A, D]
自然升序后的顺序[A, B, C, D, E, F]
交换后的顺序[B, A, C, D, E, F]2.查找操作
binarySearch(List list, Object key) 二分查找法前提是排序max(Collection coll)返回最大元素max(Collection coll, Comparator comp)根据自定义比较器返回最大元素min(Collection coll)返回最小元素min(Collection coll, Comparator comp)根据自定义比较器返回最小元素fill(List list, Object obj) 使用指定对象填充frequency(Collection c, Object o) 返回指定对象出现的次数
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class CollectionsTools {public static void main(String[] args) {ListString list new ArrayList();list.add(A);list.add(A);list.add(C);list.add(D);list.add(E);list.add(F);list.add(F);list.add(F);System.out.println(初始顺序: list);// 二分查找Collections.sort(list);System.out.println(Collections.binarySearch(list, C));// 最大值System.out.println(Collections.max(list));// 最小值System.out.println(Collections.min(list));// 出现的次数System.out.println(Collections.frequency(list, F));// 填充Collections.fill(list, Q);System.out.println(填充后的List list);}
}Result
初始顺序:[A, A, C, D, E, F, F, F]
2
F
A
3
填充后的List[Q, Q, Q, Q, Q, Q, Q, Q]3.同步控制
HashMap是线程不安全Collections工具类中提供了多个方法这些方法会返回一个同步的对象保证多线程中解决集合时的安全问题。
SynchronizedList synchronizedList Collections.synchronizedList(list);4.常用方法
addAll(Collection? super T c, T... elements)往集合中添加元素disjoint(Collection? c1, Collection? c2) 判断两个集合是否没有交集CollectionUtils.isEmpty(List list)集合空CollectionUtils.isNotEmpty(List list)集合非空
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class CollectionsTools3 {public static void main(String[] args) {ListString list new ArrayList();list.add(A);list.add(B);list.add(C);list.add(D);ListString addlist new ArrayList();Collections.addAll(addlist, A, B, C);System.out.println(添加后的集合 addlist);System.out.println(是否没有交集: (Collections.disjoint(list, addlist) ? 是 : 否));}
}