• 初始 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天学习挑战赛

  • 相关阅读:
    网络工程师的爬虫技术之路:跨界电商与游戏领域的探索
    在linux上做移动开发必须知道这五个
    一起Talk Android吧(第三百七十四回:多线程之大结局)
    《制造企业高质量发展成长指南》全新首发,3大亮点邀您品鉴!
    uvm factory机制的实现-转载
    前端面试准备——day03
    matlab如何遍历文件夹及子文件夹下的所有文件
    -bash: ifconfig: command not found
    Java面试附答案:掌握关键技能,突破面试难题!
    Kryo反序列化链分析
  • 原文地址:https://blog.csdn.net/AlinaQ05/article/details/126112092