编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

Java的Collections工具类

在程序中,针对集合的操作非常频繁,例如将集合中的元素排序、从集合中查找某个元素等。针对这些常见操作,JDK 提供了一个工具类专门用来操作集合,这个类就是Collections,它位于java.util包中。Collections类中提供了大量的方法用于对集合中的元素进行排序、查找和修改等操作,接下来对这些常用的方法进行介绍。

  • 排序操作

Collections类中提供了一系列方法用于对List集合进行排序,如表所示。

方法声明功能描述
static <T>boolean add AIl(Collection <? super T>c,T... elements)将所有指定元素添加到指定的collection中
static void reverse(List list)反转指定List集合中元素的顺序
static void shufflc(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 Example {
    public static void main(String[] args) {
        ArrayList 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);
    }
}

运行结果:

排序前: [C, Z, B, K]
反转后: [K, B, Z, C]
按自然顺序排序后: [B, C, K, Z]
洗牌后: [K, C, Z, B]
  • 查找、替换操作

Collections类还提供了一些常用方法用于查找、替换集合中的元素,如表所示。

方法声明功能描述
static int binaryScarch ( List list,Object key)使用二分法搜索指定对象在List集合中的索引,杳找的 List集合中的元素必须是有序的
static Object max(Collection col)根据元素的自然顺序,返回给定集合中最大的元素
static Object min (Collection col)根据元素的自然顺序,返回给定集合中最小的元素
static boolean replaccAll (List   list,Object oldVal,Object ncwVal)用一个新的newVal替换List集合中所有的旧值oldVal

接下来使用表中的方法通过一个案例演示如何查找、替换集合中的元素,如例所示。

import java.util.ArrayList;
import java.util.Collections;
public class Example {
    public static void main(String[] args) {
        ArrayList 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);
    }
}

运行结果:

集合中的元素: [-3, 2, 9, 5, 8]
集合中的最大元素: 9
集合中的最小元素: -3
替换后的集合: [-3, 2, 9, 5, 0]

Collections类中还有一些其他方法,有兴趣的初学者,可以根据需要自学API帮助文档,这里就不再介绍了。

未经允许不得转载: 技术文章 » Java编程 » Java的Collections工具类