Java集合如Map、Set、List等所有集合只能存放引用类型数据,它们都是存放引用类型数据的容器,不能存放如int、long、float、double等基础类型的数据。

1. 集合存储对象

Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的。

2. 基本类型数据如何解决呢?

可以通过包装类把基本类型转为对象类型,存放引用就可以解决这个问题。更方便的,由于有了自动拆箱和装箱功能,基本数据类型和其对应对象(包装类)之间的转换变得很方便,想把基本数据类型存入集合中,直接存就可以了,系统会自动将其装箱成封装类,然后加入到集合当中。

 
示例代码: 
int i = 10; 
Integer in = new Integer(i);//手动将i包装为Integer类型对象 
HashSet set = new HashSet();//定义一个Set集合 
set.add(in);//将包装类对象加入该集合 
System.out.println(set);//打印结果 
同样的效果(自动包装): 
int i = 10; 
HashSet set = new HashSet(); 
set.add(i);//系统会自动将i装箱为Integer类型的对象然后再存入set集合中 
System.out.println(set);

转载于:https://www.cnblogs.com/pomodoro/p/8529452.html

Java集合数据类型相关推荐

  1. java 集合数据类型_Java基础知识(数据类型和集合)

    一.数据类型 包装类型 包装类型是对基本数据类型不足之处的补充. 基本数据类型的传递方式是值传递,而包装类型是引用传递,同时提供了很多数据类型间转换的方法. Java1.5 以后可以自动装箱和拆箱 二 ...

  2. java 集合 接口_Java集合之Collection接口

    1 - Java集合介绍 /* 1. 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储. 2. 另一方面,使用Array存储对象方面具有一些弊 端,而 ...

  3. java 头尾 队列_超详细的java集合讲解

    1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...

  4. Java基础篇:Java集合

    文章目录 1.概述 2.Collection接口 2.1 Collection接口方法 2.2 Iterator迭代器接口 2.3 Collection子接口之:List接口 2.4 Collecti ...

  5. java集合框架史上最详解(list set 以及map)

    title: Java集合框架史上最详解(list set 以及map) tags: 集合框架 list set map 文章目录 一.集合框架总体架构 1.1 集合框架在被设计时需满足的目标 1.2 ...

  6. java集合框架图(一)

    一.集合类简介 Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)"丢进"该容器中.从Java 5 增加了泛型以后,Java集合可以记住容器中对象的数 ...

  7. Java基础-数据类型int,short,char,long,float,double,boolean,byte

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  8. Java集合(一)、什么是Java集合?

    一.集合的由来 通常,我们的Java程序需要根据程序运行时才知道创建了多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需 ...

  9. 容器(一)剖析面试最常见问题之 Java 集合框架

    转载自https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/Java%E9%9B%86%E5%90%88%E ...

最新文章

  1. 如何使用华为云的计算资源来进行机器学习(CodeLab)
  2. 关于盒子塌陷的几种解决方法
  3. android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
  4. 使用Ehcache+Redis实现分布式缓存
  5. 使用SELECT 和OPEN CURSOR 读取big table的性能比较
  6. 这年头,胡萝卜也靠不住了
  7. Educational Codeforces Round 93 (Rated for Div. 2)
  8. mysql磁盘临时表清理_mysql 创建大量磁盘临时表
  9. php什么程度算学会,十天学会PHP - 序1,学会的标准是什么?(20180820-1)
  10. 心里话:技术人需要及时明白的道理
  11. 从 Pod 到案例,给小白的 Kubernetes 技术课
  12. MVC---张国亮总结心得第一季
  13. 手动卸载office 2010 亲测有效
  14. mysql中用来取余数的函数是_mysql数学函数有哪些?
  15. matlab相关,来自一个初学者的收藏
  16. android手机解锁成功后的广播,Android动态注册锁屏、解锁、开屏系统广播
  17. html如何制作悬浮窗,使用js实现悬浮窗效果方法
  18. c语言大作业打印课程表,课程表(c语言)
  19. 【TM1650】STM8S TM1650芯片控制程序
  20. 【解决】移动用户如何使用APP自行取消全国亲情网业务

热门文章

  1. 自定义控件三秒改变改变颜色
  2. 利用百分位数确定考核指标的具体数字
  3. HANA数据自助查询
  4. linux显示某一日期是第几天,如果已经知道一年中的第几天,能够用linux中date显示出所对应日期吗?比如知道今天是这一年的第...
  5. 2023-01-18 工作记录--React-手写日历+JS-计算某一日期对应一周的日期
  6. 计算机键盘感叹号在哪里,键盘上感叹号是哪个键
  7. Java8 IF ELSE IF 优化
  8. 一文详解肖特基二极管损坏的六大原因
  9. 如何把ogg转换成mp3
  10. C专家编程 第6章 运动的诗章:运行时数据结构 6.1 a.out及其传说