有关map和list 的问题?? 请高手给我说说这个的区,,我现在 对这两个不是很清楚?知道他们是一个接口类。。也晓得他们的实现类,,但是不是很会用他们来解决问题。。请高手给一个好的方法。。这两个的有关例子也行。小弟十分感激。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 list.add("a");list.add("b");list.add("a");这个时候,list中有三个元素。map.put("a","a");map.put("b","b");map.put("a","aaaa");这个时候map中有两个元素,分别是a->aaaa,b->b看看文档吧。写得够清楚 List 可以添加重复的,map中的key唯一,如有重复则覆盖 基本上对于数据集合不清楚的,或者对util包不清楚的都很难被录用 List 可以添加重复??这么说好象没说出区别我用下面的话来说大家看看是否正确List是标识好存放队列序号(0,1,2……)的mapMAP则是要自己来建立这个存放队列,并要给队列里的每个序号起名字的List wrong要确切了解list和map的区别最好找一个实现类来看就这两个接口本身而言只不过是提供的方法接口不同而已list-〉ArrayListmap-〉HashMapArrayList是一个数组类的结构,他存放的数据可以被遍历,也可以通过所在位置直接取得如:ArrayList buffer;for(int i=0;i<buffer.size();i++){buffer.get(i);}or...buffer.add("a");这些接口的实现一看就知道是以队列、数组为基础的集合结构才适用的HashMap,一看就知道了,是以key-value存储的结构HashMap map;map.put("a","aaaaa");map.get("a");它的寻址方法和数组或列表不同,所以当然应该实现map接口了 除了上边的,java.util.List的实现类不会对加入的数据进行排序,筛选,而map的实现类会对存入的数据进行排序和筛选, 楼上说的排序指的是什么HashMap不会排序呀?甚至不会按照加入的顺序取出 大家评论一下我说得对不:我觉得应用上的区别,关键是key-value对。1、当我们需要作循环读取的时候就用List,因为List的键是顺序号,容易作循环。2、当我们离散地读取一般用Map,也可用list,关键看key。举例: 假设商场保存商品的单价。如果商品的名称容易得到,用HashMap读取方便;如果商品的顺序号容易得到,用List读取方便 HashMap goods=new HashMap(); goods.put("clothes","100"); goods.put("TV","10000"); goods.put("cup","10"); 我们想取TV的单价:goods.get("TV");当商品的顺序号容易得到,我们用List保存 List goods=new ArrayList(); goods.put("100"); goods.put("10000"); goods.put("10");如果我们要取TV的单价,goods.get(1); 对,这是最基本的,key-value形式肯定是map,感觉像一个列的肯定是list细节差别慢慢就会掌握了 理解不错,但是好像List的代码写错了吧?List goods=new ArrayList(); goods.add("100"); goods.add("10000"); goods.add("10"); list的取值Iterator it=goods.iterator();while(it.hashNext()){ System.out.println(it.next())} 菜鸟问个弱弱的问题 这程序哪里出错了? java压缩图片 异常 坐等 我想问下,目前咱们国内有哪些编程竞赛(对于大学生的) JAVA常用包. 求救 如何在Hibernate 中取记录的前几条记录 jsf问题 html中<br>是什么意思 想换份工作了,大家帮我看看在广州值个什么价钱??? 谁有"俄罗斯方块"的源代码,让我参考一下? INSERT INTO的疑问 抽象类 【急】请教:静态方法里可以包含私有数组变量么?
list.add("b");
list.add("a");这个时候,list中有三个元素。map.put("a","a");
map.put("b","b");
map.put("a","aaaa");
这个时候map中有两个元素,
分别是a->aaaa,b->b看看文档吧。写得够清楚
这么说好象没说出区别我用下面的话来说大家看看是否正确
List是标识好存放队列序号(0,1,2……)的map
MAP则是要自己来建立这个存放队列,并要给队列里的每个序号起名字的List
要确切了解list和map的区别最好找一个实现类来看
就这两个接口本身而言只不过是提供的方法接口不同而已list-〉ArrayList
map-〉HashMapArrayList是一个数组类的结构,他存放的数据可以被遍历,也可以通过所在位置直接取得
如:
ArrayList buffer;
for(int i=0;i<buffer.size();i++){
buffer.get(i);
}
or...
buffer.add("a");
这些接口的实现一看就知道是以队列、数组为基础的集合结构才适用的HashMap,一看就知道了,是以key-value存储的结构
HashMap map;
map.put("a","aaaaa");
map.get("a");
它的寻址方法和数组或列表不同,所以当然应该实现map接口了
HashMap不会排序呀?甚至不会按照加入的顺序取出
1、当我们需要作循环读取的时候就用List,因为List的键是顺序号,容易作循环。
2、当我们离散地读取一般用Map,也可用list,关键看key。举例:
假设商场保存商品的单价。如果商品的名称容易得到,用HashMap读取方便;如果商品的顺序号容易得到,用List读取方便 HashMap goods=new HashMap();
goods.put("clothes","100");
goods.put("TV","10000");
goods.put("cup","10");
我们想取TV的单价:goods.get("TV");当商品的顺序号容易得到,我们用List保存
List goods=new ArrayList();
goods.put("100");
goods.put("10000");
goods.put("10");
如果我们要取TV的单价,goods.get(1);
List goods=new ArrayList();
goods.add("100");
goods.add("10000");
goods.add("10");
Iterator it=goods.iterator();
while(it.hashNext())
{
System.out.println(it.next())
}