目录

1. 什么是集合框架

2. ❀Collection 接口

3. ❀Map 接口 


1. 什么是集合框架

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

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

JCF:Java 集合框架

java有哪些边框样式 java方框_Java

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

上图中,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有哪些边框样式 java方框_System_02

Collection 代码示例:

java有哪些边框样式 java方框_Java_03

运行结果:

java有哪些边框样式 java方框_java_04

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<Map.Entry<K, V>> entrySet()

将所有键值对返回

boolean isEmpty()

判断是否为空

int size() 

返回键值对的数量

代码示例:


public class Demo2 {
    public static void main(String[] args) {
        Map<String, String> 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<String, String> entry : map.entrySet()) {
            System.out.print(entry.getKey() + " ");
            System.out.print(entry.getValue() + " ");
        }
    }
}


运行结果:

java有哪些边框样式 java方框_java有哪些边框样式_05