【集合】单列集合和双列集合

Java中集合主要分为两类:单列集合和双列集合。

单列集合

单列集合主要指的是存储单个元素的集合,每一个元素都是独立的。

常见的单列集合:

  • List:有序可重复集合
    • ArrayList:基于动态数组实现的,查询快,增删慢
    • LinkedList:基于双线链表实现,增删快,查询慢
  • Set:无序且不可重复集合
    • HashSet:基于哈希表实现,元素无序

    • TreeSet:基于红黑树实现,元素按照自然顺序或者自动逸顺序排序

      List list = new ArrayList<>();
      list.add("Java");
      list.add("Python");
      System.out.println(list); // 输出: [Java, Python]

      Set set = new HashSet<>();
      set.add(1);
      set.add(2);
      set.add(1); // 重复元素不会被添加
      System.out.println(set); // 输出: [1, 2]

双列集合

双列集合主要指的是存储键值对的集合,每个元素都是由键和值组成

常见的单列集合:

  • Map:键值对的集合,键不可重复
    • HashMap:集合哈希表实现,键不可重复

    • TreeMap:基于红黑树实现,键值对按照键的自然顺序或者自定义顺序排序

    • CurrentHashMap:线程安全的哈希表

      Map<String, Integer> map = new HashMap<>();
      map.put("Java", 1);
      map.put("Python", 2);
      System.out.println(map); // 输出: {Java=1, Python=2}

      Map<String, String> linkedMap = new LinkedHashMap<>();
      linkedMap.put("A", "Apple");
      linkedMap.put("B", "Banana");
      System.out.println(linkedMap); // 输出: {A=Apple, B=Banana}

单列集合和双列集合的区别

|-----------|----------------------------------------------|-------------------------------------|
| 特性 | 单列集合 | 双列集合 |
| 存储方式 | 存储单个元素 | 存储键值对(Key-Value) |
| 典型接口 | Collection(如 List、Set) | Map |
| 元素关系 | 元素之间独立 | 元素之间通过键值对关联 |
| 常见实现类 | ArrayList、LinkedList、HashSet、TreeSet | HashMap、LinkedHashMap、TreeMap |
| 适用场景 | 存储一组独立的数据 | 存储具有映射关系的数据 |


相关推荐
code2cat12 分钟前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
WeiXin_DZbishe16 分钟前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码19 分钟前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
wewowilling43 分钟前
认识微服务
java·运维·微服务·springcloud
代码什么用1 小时前
Java Web 7-10
java·servlet
蜗牛互联网3 小时前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
java·人工智能·后端
SL_staff3 小时前
运维救火实录:钉钉考勤API变更引发工资计算异常,我们用JVS-Logic可视化逻辑引擎实现分钟级热修复
java·mysql·全栈
SunnyDays10113 小时前
Java 查找并高亮 Word 文字:精确查找及正则表达式模糊查找
java·查找文字·word 文档·高亮文字·正则匹配查找·模糊查找
geats人山人海4 小时前
java 4继承
java·开发语言