Collections工具类
在Java中,针对集合的操作非常频繁,例如对集合中的元素排序、从集合中查找某个元素等。针对这些常见操作,Java提供了一个工具类专门用来操作集合,这个类就是Collections,它位于java.util包中。Collections类中提供了大量的静态方法用于对集合中元素进行排序、查找和修改等操作
1.添加、排序操作
方法声明 | 功能描述 |
static <T> boolean addAll(Collection<? super T> c, T... elements) | 将所有指定元素添加到指定集合c中 |
static void reverse(List list) | 反转指定List集合中元素的顺序 |
static void shuffle(List list) | 对List集合中的元素进行随机排序 |
static void sort(List list) | 根据元素的自然顺序对List集合中的元素进行排序 |
static void swap(List list,int i,int j) | 将指定List集合中角标i处元素和j处元素进行交换 |
import java.util.ArrayList;
import java.util.Collections;
public class Example25 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list, "C","Z","B","K"); // 添加元素
System.out.println("排序前: " + list);
Collections.reverse(list); // 反转集合
System.out.println("反转后: " + list);
Collections.sort(list); // 按自然顺序排列
System.out.println("按自然顺序排序后: " + list);
Collections.shuffle(list); // 随机打乱集合元素
System.out.println("按随机顺序排序后: " + list);
Collections.swap(list, 0, list.size()-1); // 将集合首尾元素交换
System.out.println("集合首尾元素交换后: " + list);
}
}
2.查找、替换操作
表2 Collections常用查找和替换方法
方法声明 | 功能描述 |
static int binarySearch(List list,Object key) | 使用二分法搜索指定对象在List集合中的索引,查找的List集合中的元素必须是有序的 |
static Object max(Collection col) | 根据元素的自然顺序,返回给定集合中最大的元素 |
static Object min(Collection col) | 根据元素的自然顺序,返回给定集合中最小的元素 |
static boolean replaceAll(List list,Object oldVal,Object newVal) | 用一个新值newVal替换List集合中所有的旧值oldVal |
import java.util.ArrayList;
import java.util.Collections;
public class Example26 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Collections.addAll(list, -3,2,9,5,8);// 向集合中添加所有指定元素
System.out.println("集合中的元素: " + list);
System.out.println("集合中的最大元素: " + Collections.max(list));
System.out.println("集合中的最小元素: " + Collections.min(list));
Collections.replaceAll(list, 8, 0); // 将集合中的8用0替换掉
System.out.println("替换后的集合: " + list);
Collections.sort(list); //使用二分查找前,必须保证元素有序
System.out.println("集合排序后为: "+list);
int index = Collections.binarySearch(list, 9);
System.out.println("集合通过二分查找方法查找元素9所在角标为:"+index);
}
}
Arrays工具类
1.使用sort()方法排序
2.使用binarySearch(Object[] a, Object key)方法查找元素
接下来通过一个图例来演示二分法查找元素的过程,如图3所示。
3.使用copyOfRange(int[] original, int from, int to)方法拷贝元素
4.使用fill(Object[] a, Object val)方法替换元素
若有收获,就点个赞吧