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

java的集合类中哪些可以添加不同类型数据,哪些不可以?

在Java的集合类中,有些可以添加不同类型的数据,而有些则要求元素类型必须一致。以下是一些常见的Java集合类及其对元素类型的要求:

1、ArrayList

ArrayList可以添加不同类型的数据,因为它使用了泛型,可以存储任何类型的对象。

ArrayList<Object> list = new ArrayList<>();
list.add("String");
list.add(10);
list.add(true);

2、LinkedList

与ArrayList类似,LinkedList也可以添加不同类型的数据,因为它也使用了泛型。

LinkedList<Object> list = new LinkedList<>();
list.add("String");
list.add(10);
list.add(true);

 3、HashSet

HashSet要求元素类型必须实现了hashCode()和equals()方法,以确保集合中的元素唯一性。它可以添加不同类型的数据,只要元素类型满足这两个要求即可。

HashSet<Object> set = new HashSet<>();
set.add("String");
set.add(10);
set.add(true);
//不同类型的数据之间也可以做equals比较,所以HashSet可以放不同类型的数据
System.out.println("String".equals(111));

 4、TreeSet

TreeSet要求元素类型必须实现了Comparable接口,或者在创建TreeSet时提供Comparator对象,以便对元素进行排序。因为需要排序,所以它不可以添加不同类型的数据。

TreeSet<Object> set = new TreeSet<>();
set.add("String");
set.add(10);//报错
set.add(true);

5、HashMap

HashMap要求键和值的类型可以是不同的。它可以添加不同类型的数据作为键和值。

HashMap<Object, Object> map = new HashMap<>();
map.put("key1", "value1");
map.put(10, true);
map.put(false, 3.14);

需要注意的是,尽管Java的集合类中有些可以添加不同类型的数据,但这种用法通常不被推荐。在实际开发中,为了代码的可读性和维护性,通常应该尽量保持集合中元素类型的一致性。

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

相关文章:

  • 基于51单片机的烟雾和温湿度检测控制系统仿真(智能防火系统,火灾报警灭火系统)
  • 【多线程】静态代理
  • 线性代数 第二章 矩阵
  • vue实现自定义字体
  • Selenium安装WebDriver Chrome驱动(含 116/117/118/119/120/)
  • springboot的安全机制
  • 学习c++的第四天
  • BIOS开发笔记 – 显示
  • 数据库实验:SQL的数据视图
  • k8s-调度约束
  • C++设计模式_26_设计模式总结
  • 解锁AI语言模型的秘密武器 - 提示工程
  • qt手撕菜单栏
  • UE5——网络——RPC
  • 基于ASP.NET MVC + Bootstrap的仓库管理系统
  • Jetson NX FFmpeg硬件编解码实现
  • 5.2用队列实现栈(LC225-E)
  • 项目上线前发现严重Bug怎么办?
  • 【WPF系列】- Application详解
  • 常见的内置方法:__call__,__getitem__,__iter__,__next__
  • python用cv2画图(line, rectangle, text等)
  • 解决方案中word中分页符的使用
  • ubuntu20.04下apache启用php7.4-fpm
  • 在 CentOS 服务器上部署 JAR 文件到 Docker 容器
  • vector类模拟实现(c++)(学习笔记)
  • Redis Sentinel 哨兵模式
  • 实用篇-MQ消息队列
  • springboot打包时依赖jar和项目jar分开打包;jar包瘦身
  • 嵌入式系统的元素
  • 提升ChatGPT答案质量和准确性的方法Prompt engineering实用的prompt灵感和技巧