- 1.java集合框架(JCF)
- 2.接口 interfaces
- 3.Collection 接口
- 4.Map接口
1.Java 集合框架 Java Collection framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD。
2.类和接口:
for-each:实现了Iterable接口的类可以使用for-each循环输出。
Set:不重复的线性表。
Map:键值对数据结构Map
Collection:线性数据结构-线性表。
HashSet:保存的数据不重复。
迭代器是用来遍历集合的。
工具类:一般情况类名称s表示工具类,例如:Arrays.copyOf,Arrays.sort.
1.Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素 elements。
2.Set : 元素不能重复,背后隐含着查找/搜索的语义。
3.SortedSet : 一组有序的不能重复的元素。
4.List : 线性结构
5.Deque : 双端队列
6.queue:队列
7.Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义 8.SortedMap : 一组有序的键值对。
| 方法签名 | 说明 |
|---|---|
| boolean add(E e) | 将元素 e 放入集合中 |
| void clear() | 删除集合中的所有元素 |
| boolean isEmpty() | 判断集合是否没有任何元素,即空集合 |
| boolean remove(Object e) | 如果元素 e 出现在集合中,删除其中一个 |
| int size() | 返回集合中的元素个数 |
| Object[] toArray() | 返回一个装有所有集合中元素的数组 |
coolection使用:
package jcf;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionTest {
public static void main(String[] args) {
Collection collection = new ArrayList<>();
collection.add(1);
collection.add(3);
collection.add(5);
collection.add(6);
collection.add(2);
System.out.println(collection.size());
System.out.println(collection.remove(3));
System.out.println(collection.size());
collection.clear();
System.out.println(collection.size());
}
}
4.Map接口
| 方法签名 | 说明 |
|---|---|
| V get(Object k) | 根据指定的 k 查找对应的 v |
| V getOrDefault(Object k, V defaultValue) | 根据指定的 k 查找对应的 v,没有找到用默认值代替 |
| V put(K key, V value) | 将指定的 k-v 放入 Map |
| boolean containsKey(Object key) | 判断是否包含 key |
| boolean containsValue(Object value) | 判断是否包含 value |
| Set | 将所有键值对返回 |
| boolean isEmpty() | 判断是否为空 |
| int size() | 返回键值对的数量 |
Map接口使用:
package jcf;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
class MapTest {
public static void main(String[] args) {
// 校园用户 id = userName
Map schoolMap = new HashMap<>();
schoolMap.put(10, "小张");
schoolMap.put(11, "小鱼");
schoolMap.put(12, "小苗");
System.out.println(schoolMap.put(10, "彭于晏"));
System.out.println(schoolMap.get(10));
schoolMap.remove(10);
// toString
System.out.println(schoolMap);
}
}
package jcf;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
// 校园用户 id = userName
Map schoolMap = new HashMap<>();
schoolMap.put(10,"小张");
schoolMap.put(11,"小鱼");
schoolMap.put(12,"小苗");
System.out.println(schoolMap.put(10,"彭于晏"));
System.out.println(schoolMap.get(10));
schoolMap.remove(10);
// toString
System.out.println(schoolMap);
// 迭代 1. Map -> Set
Set> set = schoolMap.entrySet();
for (Map.Entry entry : set) {
System.out.print(entry.getKey());
System.out.print("=");
System.out.print(entry.getValue());
System.out.println();
}
System.out.println(schoolMap.get(10));
System.out.println(schoolMap.get(100));
System.out.println(schoolMap.getOrDefault(101,
"zs"));
System.out.println(schoolMap.containsKey(11));
System.out.println(schoolMap.containsValue("小鱼"));
}
}



