初始 Java 集合框架

目录

1. 什么是集合框架

2. ❀Collection 接口

3. ❀Map 接口 


1. 什么是集合框架

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

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

JCF: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 + 鼠标看源码中还有哪些方法:

Collection 代码示例:

运行结果:

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() + " ");
        }
    }
}

运行结果:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值