java中集合能存什么,java有哪些集合
大家好,感谢邀请,今天来为大家分享一下java中集合能存什么的问题,以及和java有哪些集合的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
java List集合存放的是什么类型的数据
集合里只能存放引用类型,若要存放基本类型只能存相对应的包装类
原因是因为集合是泛型类,会有边界擦除,若在<>里指定类型就保留到你指定的类的信息,
若不指定就为object类,基本类型自动转为相应的包装类存放
所以你只要在里面试一下就会发现不指定类型的话除object中有的方法外别的方法都不能用
指定为一个父类(或接口)的话,即使你存放进去的是子类却也用不了子类的方法(除非强转)等
java中的list map set中能存放不同数据类型的元素吗
相当可以,list里面实际上存放的是Object类型,所以随便放,就算你加了泛型的限定了,你也可以往里放,通过反射,想放什么放什么,集合中的泛型是给编译器看的,过了编译阶段,泛型就不存在了,所以里面的还是接受object类型.如果你放基本数据类型,比如int会被包装成Integer不过一样,有自动拆箱装箱.
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有哪些集合的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。