Java 汇合框架是 Java 提供的一套用于存储和操作数据的接口和类。它包含以下几个次要局部:
- 接口:汇合框架定义了一系列接口,如
Collection
、List
、Set
、Map
等。 - 实现类:汇合框架提供了一些实现这些接口的类,如
ArrayList
、LinkedList
、HashSet
、LinkedHashSet
、HashMap
、LinkedHashMap
等。 - 算法:汇合框架提供了一些用于操作汇合的算法,如排序、搜寻等。
咱们将别离介绍这些接口和实现类,并给出相应的示例。
1. Collection 接口
Collection
接口是 Java 汇合框架的根接口,它定义了一些用于操作汇合的通用办法。Collection
接口有两个次要的子接口:List
和Set
。
以下是 Collection
接口的一些罕用办法:
add(E e)
:增加一个元素。addAll(Collection<? extends E> c)
:增加一个汇合的所有元素。remove(Object o)
:删除一个元素。removeAll(Collection<?> c)
:删除一个汇合的所有元素。contains(Object o)
:判断是否蕴含一个元素。containsAll(Collection<?> c)
:判断是否蕴含一个汇合的所有元素。size()
:返回汇合的元素个数。isEmpty()
:判断汇合是否为空。clear()
:清空集合。
2. List 接口
List
接口是一个有序的、可反复的汇合。List
接口的次要实现类有 ArrayList
和LinkedList
。
以下是 List
接口的一些罕用办法:
get(int index)
:获取指定地位的元素。set(int index, E element)
:设置指定地位的元素。add(int index, E element)
:在指定地位增加一个元素。remove(int index)
:删除指定地位的元素。indexOf(Object o)
:返回一个元素的第一个匹配地位。lastIndexOf(Object o)
:返回一个元素的最初一个匹配地位。
3. Set 接口
Set
接口是一个无序的、不可反复的汇合。Set
接口的次要实现类有 HashSet
和LinkedHashSet
。
以下是 Set
接口的一些罕用办法(实际上与 Collection
接口的办法雷同,因为 Set
接口没有增加新的办法):
add(E e)
:增加一个元素。remove(Object o)
:删除一个元素。contains(Object o)
:判断是否蕴含一个元素。size()
:返回汇合的元素个数。isEmpty()
:判断汇合是否为空。clear()
:清空集合。
4. Map 接口
Map
接口是一个存储键值对的汇合。Map
接口的次要实现类有 HashMap
和LinkedHashMap
。
以下是 Map
接口的一些罕用办法:
put(K key, V value)
:增加一个键值对。get(Object key)
:依据键获取值。remove(Object key)
:依据键删除一个键值对。containsKey(Object key)
:判断是否蕴含一个键。containsValue(Object value)
:判断是否蕴含一个值。size()
:返回汇合的键值对个数。isEmpty()
:判断汇合是否为空。clear()
:清空集合。
5. 示例
上面是一个应用 Java 汇合框架的示例:
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
import java.util.Map;
public class CollectionExample {public static void main(String[] args) {
// List 示例
List<String> arrayList = new ArrayList<>();
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Cherry");
arrayList.add("Banana");
System.out.println("ArrayList:" + arrayList);
List<String> linkedList = new LinkedList<>();
linkedList.add("Apple");
linkedList.add("Banana");
linkedList.add("Cherry");
linkedList.add("Banana");
System.out.println("LinkedList:" + linkedList);
// Set 示例
Set<String> hashSet = new HashSet<>();
hashSet.add("Apple");
hashSet.add("Banana");
hashSet.add("Cherry");
hashSet.add("Banana");
System.out.println("HashSet:" + hashSet);
Set<String> linkedHashSet = new LinkedHashSet<>();
linkedHashSet.add("Apple");
linkedHashSet.add("Banana");
linkedHashSet.add("Cherry");
linkedHashSet.add("Banana");
System.out.println("LinkedHashSet:" + linkedHashSet);
// Map 示例
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("Apple", 1);
hashMap.put("Banana", 2);
hashMap.put("Cherry", 3);
hashMap.put("Banana", 4);
System.out.println("HashMap:" + hashMap);
Map<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("Apple", 1);
linkedHashMap.put("Banana", 2);
linkedHashMap.put("Cherry", 3);
linkedHashMap.put("Banana", 4);
System.out.println("LinkedHashMap:" + linkedHashMap);
}
}
输入后果:
ArrayList: [Apple, Banana, Cherry, Banana]
LinkedList: [Apple, Banana, Cherry, Banana]
HashSet: [Apple, Banana, Cherry]
LinkedHashSet: [Apple, Banana, Cherry]
HashMap: {Apple=1, Banana=4, Cherry=3}
LinkedHashMap: {Apple=1, Banana=4, Cherry=3}
这个示例演示了如何应用 ArrayList
、LinkedList
、HashSet
、LinkedHashSet
、HashMap
和LinkedHashMap
类。你能够看到,List
接口容许增加反复元素,而 Set
接口不容许。此外,HashMap
和 HashSet
是无序的,而 LinkedHashMap
和LinkedHashSet
是有序的。
心愿这个示例和解释能帮你更好地了解 Java 汇合框架。如果你有任何疑难,请随时向我发问。
举荐浏览:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g