一、Collection接口
Java集合类库是Java开发最常用的一种类库,它提供了一种方便的方法来保存和操作对象的集合。Collection接口是Java集合类库的根接口,定义了一组通用的方法,其中最重要的方法是add(), remove(), size()等,实现该接口的类主要有List和Set。
1. List接口
List是Java集合框架中最基本的集合类型之一,它提供了像数组那样的有序存储结构。List中的元素可以重复,并且可以根据索引进行访问。
// 示例代码 List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Cherry"); list.remove("Apple"); System.out.println(list.size()); // 输出2
2. Set接口
Set是Java集合框架中的一种集合类型,它是一组不重复的对象的集合。Set中的元素是无序的,并且不能根据索引进行访问。Set主要有HashSet和TreeSet两种实现方式。
// 示例代码 Set<String> set = new HashSet<>(); set.add("Apple"); set.add("Banana"); set.add("Cherry"); set.remove("Apple"); System.out.println(set.size()); // 输出2
二、Map接口
Java集合框架中的Map接口是一种键值对的集合类型,其中每个键唯一对应一个值。
1. HashMap
HashMap是基于哈希表的实现方式,它提供了O(1)时间复杂度的增删改查操作。
// 示例代码 Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Cherry", 3); map.remove("Apple"); System.out.println(map.get("Banana")); // 输出2
2. TreeMap
TreeMap是一种基于红黑树实现的有序 Map,它提供了O(logN)时间复杂度的增删改查操作。
// 示例代码 Map<String, Integer> map = new TreeMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Cherry", 3); map.remove("Apple"); System.out.println(map.get("Banana")); // 输出2
三、Collections工具类
Collections是Java集合框架中提供的一个工具类,它包含了很多用于操作集合的静态方法。
1. sort()方法
sort()方法用于对集合中的元素进行排序,可以用于任何实现了List接口的集合。
// 示例代码 List<Integer> list = new ArrayList<>(); list.add(3); list.add(1); list.add(5); Collections.sort(list); System.out.println(list); // 输出[1, 3, 5]
2. shuffle()方法
shuffle()方法用于将集合中的元素随机打乱,可以用于任何实现了List接口的集合。
// 示例代码 List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Cherry"); Collections.shuffle(list); System.out.println(list); // 输出[Apple, Cherry, Banana]
3. reverse()方法
reverse()方法用于将集合中的元素反转,可以用于任何实现了List接口的集合。
// 示例代码 List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Cherry"); Collections.reverse(list); System.out.println(list); // 输出[Cherry, Banana, Apple]
4. binarySearch()方法
binarySearch()方法用于查找集合中某个元素所在的位置,需要保证集合已经排好序。
// 示例代码 List<Integer> list = new ArrayList<>(); list.add(1); list.add(3); list.add(5); int index = Collections.binarySearch(list, 3); System.out.println(index); // 输出1
四、总结
本文对Java集合类中的Collection接口、List接口、Set接口、Map接口和Collections工具类等进行了详细的介绍,通过示例代码的演示,阐述了Java集合类的强大功能和使用方法。