首页编程java编程java中集合能存什么,java有哪些集合

java中集合能存什么,java有哪些集合

编程之家2023-10-1294次浏览

大家好,感谢邀请,今天来为大家分享一下java中集合能存什么的问题,以及和java有哪些集合的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

java中集合能存什么,java有哪些集合

java List集合存放的是什么类型的数据

集合里只能存放引用类型,若要存放基本类型只能存相对应的包装类

原因是因为集合是泛型类,会有边界擦除,若在<>里指定类型就保留到你指定的类的信息,

若不指定就为object类,基本类型自动转为相应的包装类存放

java中集合能存什么,java有哪些集合

所以你只要在里面试一下就会发现不指定类型的话除object中有的方法外别的方法都不能用

指定为一个父类(或接口)的话,即使你存放进去的是子类却也用不了子类的方法(除非强转)等

java中的list map set中能存放不同数据类型的元素吗

相当可以,list里面实际上存放的是Object类型,所以随便放,就算你加了泛型的限定了,你也可以往里放,通过反射,想放什么放什么,集合中的泛型是给编译器看的,过了编译阶段,泛型就不存在了,所以里面的还是接受object类型.如果你放基本数据类型,比如int会被包装成Integer不过一样,有自动拆箱装箱.

java中集合能存什么,java有哪些集合

java有哪些集合

亲,Java的集合框架不是在百度知道里面说得清楚的。Java集合本身就很复杂,而且有一开始有些设计错误,后面在持续的修改。你想了解清除,可以看下Thinking in Java和疯狂Java讲义(为什么要两本呢?前一本讲得很系统,但是没有Java7的内容,所以要看后一本),看的时候配合查下官方文档。

如果你想快速了解使用的话,那么你只需要知道:在大多数情况下用ArrayList代替数组,用HaspMap存储Key-Value就行了。

java 用什么集合类型可以同时保存两个对象的

importjava.util.HashMap;

importjava.util.Map;

/*

*作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢?

*如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称。

*但是呢,如果我都能把学生姓名拿出来了,我还需要根据编号去找吗?

*针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合Map。

*通过查看API,我们知道Map集合的一个最大的特点,就是它可以存储键值对的元素。这个时候存储我们上面的需求,就可以这样做

*学号1姓名1

*学号2姓名2

*学号3姓名3

*学号2(不行)姓名4

*学号4姓名4

*Map集合的特点:

*将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

*

*Map集合和Collection集合的区别?

* Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对

* Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的。可以把这个理解为:光棍(11.11)

*

*注意:

* Map集合的数据结构值针对键有效,跟值无关

* HashMap,TreeMap等会讲。

* Collection集合的数据结构是针对元素有效

*

*Map集合的功能概述:

*1:添加功能

* Vput(Kkey,Vvalue):添加元素。这个其实还有另一个功能?先不告诉你,等会讲

*如果键是第一次存储,就直接存储元素,返回null

*如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值

*2:删除功能

* voidclear():移除所有的键值对元素

* Vremove(Objectkey):根据键删除键值对元素,并把值返回

*3:判断功能

* booleancontainsKey(Objectkey):判断集合是否包含指定的键

* booleancontainsValue(Objectvalue):判断集合是否包含指定的值

* booleanisEmpty():判断集合是否为空

*4:获取功能

* Set<Map.Entry<K,V>>entrySet():???

* Vget(Objectkey):根据键获取值

* Set<K>keySet():获取集合中所有键的集合

* Collection<V>values():获取集合中所有值的集合

*5:长度功能

* intsize():返回集合中的键值对的对数

*/

publicclassMapDemo{

publicstaticvoidmain(String[]args){

//创建集合对象

Map<String,String>map=newHashMap<String,String>();

//添加元素

//Vput(Kkey,Vvalue):添加元素。这个其实还有另一个功能?先不告诉你,等会讲

//System.out.println("put:"+map.put("文章","马伊俐"));

//System.out.println("put:"+map.put("文章","姚笛"));

map.put("邓超","孙俪");

map.put("黄晓明","杨颖");

map.put("周杰伦","蔡依林");

map.put("刘恺威","杨幂");

//voidclear():移除所有的键值对元素

//map.clear();

//Vremove(Objectkey):根据键删除键值对元素,并把值返回

//System.out.println("remove:"+map.remove("黄晓明"));

//System.out.println("remove:"+map.remove("黄晓波"));

//booleancontainsKey(Objectkey):判断集合是否包含指定的键

//System.out.println("containsKey:"+map.containsKey("黄晓明"));

//System.out.println("containsKey:"+map.containsKey("黄晓波"));

//booleanisEmpty():判断集合是否为空

//System.out.println("isEmpty:"+map.isEmpty());

//intsize():返回集合中的键值对的对数

System.out.println("size:"+map.size());

//输出集合名称

System.out.println("map:"+map);

}

}

关于本次java中集合能存什么和java有哪些集合的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

java面向对象包含什么(Java中的面向对象是什么意思)娘道一共多少集(娘道一共多少集大结局是什么样的)