初始 Java 集合框架

目录

1. 什么是集合框架

2. ❀Collection 接口

3. ❀Map 接口 


1. 什么是集合框架

Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。表现为将多个元素放在一个集合中,方便对这些元素进行增删改查 CRUD。

举例:一组牌的集合(一副扑克牌) 

JCF:Java 集合框架

初始 Java 集合框架_第1张图片

 黄色方框代表的是接口,蓝色方框代表的是抽象类,棕色方框代表的是普通类。

上图中,Iterator 是一种迭代器,用来遍历集合。Java 集合框架分为两大种:Collection 接口以及 Map 接口。Collection 接口是由 List 接口、Queue 接口以及 Set 接口组成的,Collection 是一种线性数据结构。Map 接口是用来存放键值对的。

2. Collection 接口

Collection 接口包括 Stack 类、ArrayList 类、LinkedList 类、PriorityQueue 类、TreeSet类、HashSet 类。

Collection 常用方法:

boolean add(E e) 将元素 e 放入集合中
boolean isEmpty() 判断集合中是否还有元素
boolean remove(Object o) 删除集合中的所有元素
int size() 返回集合中的元素个数
void clear() 删除集合中的所有元素
Object[ ] toArray() 返回一个装有所有集合中元素的数组

可以使用 ctrl + 鼠标看源码中还有哪些方法:

初始 Java 集合框架_第2张图片

Collection 代码示例:

初始 Java 集合框架_第3张图片运行结果:

初始 Java 集合框架_第4张图片

3. Map 接口 

Map 接口可以使用 HashMap 以及 TreeMap (有序的键值对)来实现。通常使用 HashMap。 

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> entrySet() 将所有键值对返回
boolean isEmpty() 判断是否为空
int size()  返回键值对的数量

代码示例:

public class Demo2 {
    public static void main(String[] args) {
        Map map = new HashMap<>();
        System.out.println("map 中的元素个数:" + map.size());
        System.out.println("map 是否为空:" + map.isEmpty());
        System.out.println(map.get("作者"));
        System.out.println(map.getOrDefault("作者", "佚名"));
        System.out.println(map.containsKey("作者"));
        System.out.println(map.containsValue("佚名"));
        map.put("作者", "鲁迅");
        map.put("标题", "狂人日记");
        map.put("发表时间", "1918年");
        System.out.println("map 中的元素个数:" + map.size());
        System.out.println("map 是否为空:" + map.isEmpty());
        System.out.println(map.get("作者"));
        System.out.println(map.getOrDefault("作者", "佚名"));
        System.out.println(map.containsKey("作者"));
        System.out.println(map.containsValue("佚名"));
        for (Map.Entry entry : map.entrySet()) {
            System.out.print(entry.getKey() + " ");
            System.out.print(entry.getValue() + " ");
        }
    }
}

运行结果:

初始 Java 集合框架_第5张图片

活动地址:CSDN21天学习挑战赛

你可能感兴趣的:(JavaSE,java)