当前位置: 首页 > news >正文

到底叫 集合还是数组还是list还是列表?

1 总体上可以将数据结构分为数组和集合两种,而列表是一个泛指
数组:在Java中,数组是一种基本数据类型,可以用来存储同一类型的多个元素,数组的长度是固定的。例如:int[] arr = new int[10];List:List是一种有序的集合,可以存储重复的元素。Java中的List有多种实现,如ArrayList、LinkedList等。例如:List<String> list = new ArrayList<>();Set:Set是一种不允许重复元素的集合。Java中的Set也有多种实现,如HashSet、TreeSet等。例如:Set<String> set = new HashSet<>();Map:Map是一种键值对映射的集合,可以存储不同类型的元素。Java中的Map也有多种实现,如HashMap、TreeMap等。例如:Map<String, Integer> map = new HashMap<>();需要注意的是,列表(List)虽然通常会被翻译成“列表”这个词,但是在计算机科学中,它的意义并不限于此。有时候,列表还可以指代其它类型的数据结构,比如链表(Linked List)和栈(Stack)等。
数组:在Java中,数组是一种基本数据类型,可以用来存储同一类型的多个元素,
数组的长度是固定的。
例如:int[] arr = new int[10];List:List是一种有序的集合,可以存储重复的元素。Java中的List有多种实现,
如ArrayList、LinkedList等。例如:List<String> list = new ArrayList<>();Set:Set是一种不允许重复元素的集合。Java中的Set也有多种实现,
如HashSet、TreeSet等。例如:Set<String> set = new HashSet<>();Map:Map是一种键值对映射的集合,可以存储不同类型的元素。Java中的Map也有多种实现,
如HashMap、TreeMap等。例如:Map<String, Integer> map = new HashMap<>();需要注意的是,列表(List)虽然通常会被翻译成“列表”这个词,但是在计算机科学中,
它的意义并不限于此。有时候,列表还可以指代其它类型的数据结构,
比如链表(Linked List)和栈(Stack)等。
2 数组 --> 有序的,但长度是固定的->元素数量固定并且需要频繁访问,那么使用数组可能更合适
int[] intArray = {1, 2, 3, 4, 5};
String[] strArray = {"apple", "banana", "orange"};
double[] doubleArray = {1.2, 3.4, 5.6};
3 集合
3.1 list  --> 支持添加和删除元素,或者元素的数量不确定,就可以使用List类型
List<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(2);
intList.add(3);List<String> strList = new LinkedList<>();
strList.add("apple");
strList.add("banana");
strList.add("orange");List<Double> doubleList = new ArrayList<>();
doubleList.add(1.2);
doubleList.add(3.4);
doubleList.add(5.6);

3.2 set --> Set是一种不允许重复元素的集合

Set<Integer> intSet = new HashSet<>();
intSet.add(1);
intSet.add(2);
intSet.add(3);Set<String> strSet = new TreeSet<>();
strSet.add("apple");
strSet.add("banana");
strSet.add("orange");Set<Double> doubleSet = new HashSet<>();
doubleSet.add(1.2);
doubleSet.add(3.4);
doubleSet.add(5.6);

3.3 map ->键值对映射的集合

Map<String, Integer> strIntMap = new HashMap<>();
strIntMap.put("apple", 1);
strIntMap.put("banana", 2);
strIntMap.put("orange", 3);Map<Integer, String> intStrMap = new TreeMap<>();
intStrMap.put(1, "apple");
intStrMap.put(2, "banana");
intStrMap.put(3, "orange");Map<Double, String> doubleStrMap = new LinkedHashMap<>();
doubleStrMap.put(1.2, "apple");
doubleStrMap.put(3.4, "banana");
doubleStrMap.put(5.6, "orange");

http://www.lryc.cn/news/100008.html

相关文章:

  • LBERT论文详解
  • C++终止cin输入while循环时多读取^Z或^D的问题
  • c#[WebMethod]方法接收前端传入的JsonArray的方法
  • WebService 报错 集锦
  • C++--菱形继承
  • Vue 3:玩一下web前端技术(二)
  • 自然语言处理14-基于文本向量和欧氏距离相似度的文本匹配,用于找到与查询语句最相似的文本
  • iOS开发-聊天emoji表情与自定义动图表情左右滑动控件
  • Mybatis plus 存储 List、Map
  • Electron 系统通知 Notification 实践指南
  • 配置代理——解决跨域问题(详解)
  • VScode 避免逗号、括号时自动补全
  • 【数学建模】时间序列分析
  • Spring使用注解进行对象装配(DI)
  • 数学建模-蒙特卡洛模拟
  • Pearson correlation皮尔逊相关性分析
  • P1036 [NOIP2002 普及组] 选数
  • css终极方案PostCSS
  • 代码随想录算法训练营第三天|417. 太平洋大西洋水流问题|24. 两两交换链表中的节点|19.删除链表的倒数第N个节点|面试题 02.07. 链表相交|
  • 【Java】Spring——创建Spring + 对Spring的存储 /读取对象操作
  • RTPSv2.2(中文版)
  • Django学习笔记-视图(views)的使用
  • 四姑娘山三日游
  • spinal HDL语法学习
  • GRE TAP的工作原理与5G工业物联网中的应用
  • NFT和数字藏品的安全方案解析
  • 第四篇-Miniconda3-CentOS7-安装
  • 高效率,38V最大输入单电感同步升/降稳压器SYV939C
  • mars3d绘制区域范围(面+边框)
  • HTML的表格应用