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

    代码示例:

    1. public class Demo2 {
    2. public static void main(String[] args) {
    3. Map map = new HashMap<>();
    4. System.out.println("map 中的元素个数:" + map.size());
    5. System.out.println("map 是否为空:" + map.isEmpty());
    6. System.out.println(map.get("作者"));
    7. System.out.println(map.getOrDefault("作者", "佚名"));
    8. System.out.println(map.containsKey("作者"));
    9. System.out.println(map.containsValue("佚名"));
    10. map.put("作者", "鲁迅");
    11. map.put("标题", "狂人日记");
    12. map.put("发表时间", "1918年");
    13. System.out.println("map 中的元素个数:" + map.size());
    14. System.out.println("map 是否为空:" + map.isEmpty());
    15. System.out.println(map.get("作者"));
    16. System.out.println(map.getOrDefault("作者", "佚名"));
    17. System.out.println(map.containsKey("作者"));
    18. System.out.println(map.containsValue("佚名"));
    19. for (Map.Entry entry : map.entrySet()) {
    20. System.out.print(entry.getKey() + " ");
    21. System.out.print(entry.getValue() + " ");
    22. }
    23. }
    24. }

    运行结果:

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

  • 相关阅读:
    新品上市 | “电子表格软件”轻装上阵,企业报表用户的新选择
    Windows本地安装nginx,修改端口号,跨域配置
    NoSQL数据库之Redis2
    Docker更改镜像源
    ConsulManager开源项目推荐
    __unaligned修饰指针
    正大国际期货:2022正大期货在国际市场热度不减的几点原因
    MySQL笔记 去除表中的重复数据
    (链表) 25. K 个一组翻转链表 ——【Leetcode每日一题】
    ansible unarchive 模块
  • 原文地址:https://blog.csdn.net/AlinaQ05/article/details/126112092