JAVA初学者提问,请帮帮解释下一些问题!

chychww 2008-03-12 10:04:21
1)list,map,set的区别
2)Arrylist和Hashmap各举个例子,让我清楚了解下他们的用途及区别
谢谢了!
...全文
226 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
fx8023jo 2008-03-13
  • 打赏
  • 举报
回复
list和set是collection的子接口,list是有序的,而set是无序的。
map也是util中的接口,和collection是一个级别的。map属于映射,是不可重复的。
ArrayList和HashMap都属于集合用类,也都不是同步的(多线程操作不安全)。
Arraylist是以数组形式的储存数据的,允许加入null在内的所有元素,保证储存顺序。
HashMap是以键值对(key, value)形式储存数据的,并允许使用null值和null键,不保证映射的顺序,特别是它不保证该顺序恒久不变。

zjhlht 2008-03-13
  • 打赏
  • 举报
回复
进来学习了~~~~~
bujidexinq 2008-03-13
  • 打赏
  • 举报
回复
多看看书吧
lizhi1026 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 java2000_net 的回复:]
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里
[/Quote]

哈哈,形象,生动哦~!
老紫竹 2008-03-13
  • 打赏
  • 举报
回复
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里

千里冰封820 2008-03-13
  • 打赏
  • 举报
回复
1)list,map,set的区别
2)Arrylist和Hashmap各举个例子,让我清楚了解下他们的用途及区别
谢谢了!

1,它们都是接口,它们的主要区别是:
List是列表的接口,它表示实现了此接口的类,必须像列表一样,可以存东西,东西也可以重复.
Set和List差不多,只是Set里面保存的元素是不能重复的.并且一般的Set都是基于Map来实现的
Map就是映射,它里面可以保存"键-值"的映射.

2,ArrayList是基于数组的List的实现.用它就和用数组差不多,它支持随机存取.效率很高.
HashMap是Map的基于hash值的实现,它利用键的hash值做为标志,进行取模运算,然后得到条目的位置,它的效率
也很高,当然,前提是键很好的实现了hashCode方法的前提下.
guoqiangone 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 blliy117 的回复:]
引用 16 楼 cnjzy0106 的回复:
引用 8 楼 java2000_net 的回复:
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里

并不生动!!仔细考虑了一下
[/Quote]
有趣,hoho
Y382904800 2008-03-13
  • 打赏
  • 举报
回复
学习
blliy117 2008-03-13
  • 打赏
  • 举报
回复
List 是有顺序的队列,并且可以队列里也许有两个相同的一个人在里边占了N个位子,可以比喻成无限长的对象数组
MAP 是键-值模式 就比如 一个物品值500元,另一个物品也可能值500元,所以有可能所有的物品都值同一个500元,所以可以保证同一 个物品不会值两个价钱,但不同的物品却可以是值一样的价钱.
Set 一群小猪贴上号,然后赶到一个猪圈里,不过这里可以保证同一猪不会在两个猪圈!


blliy117 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 cnjzy0106 的回复:]
引用 8 楼 java2000_net 的回复:
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里
[/Quote]
并不生动!!仔细考虑了一下
longrm 2008-03-13
  • 打赏
  • 举报
回复
老竹讲的真不错,呵呵
cnjzy0106 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 java2000_net 的回复:]
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里
[/Quote]
cryptlordx 2008-03-13
  • 打赏
  • 举报
回复
感觉CSDN里面时常出现猪头...
导致 猪很容易成为举例子的对象...
haoxiongok 2008-03-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 java2000_net 的回复:]
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里
[/Quote]

老竹就是“老猪”:)
电热 2008-03-13
  • 打赏
  • 举报
回复
小猪的解释真好
11113fsfasdfasdfa 2008-03-13
  • 打赏
  • 举报
回复
有个性哈!![Quote=引用 9 楼 lizhi1026 的回复:]
引用 8 楼 java2000_net 的回复:
List = 排成一长队的小猪
Map = 放在一个个,有房间号的屋子里面的一群小猪
Set = 一群小猪贴上号,然后赶到一个猪圈里


哈哈,形象,生动哦~!
[/Quote]
lishrang 2008-03-13
  • 打赏
  • 举报
回复
set(集)、list(列表)、map(映射)
集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中;
列表(List)的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾;
映射(Map),它里面的东西是键-值对(key-value)出现的;

list举例:


import java.util.*;

public class ListExample {

public static void main(String[] args) {

List list = new ArrayList();

list.add("one");

list.add("second");

list.add("3rd");

list.add(new Integer(4));

list.add(new Float(5.0F));

list.add("second");

list.add(new Integer(4));

System.out.println(list);

}}

chychww 2008-03-12
  • 打赏
  • 举报
回复
谢谢了
haoxiongok 2008-03-12
  • 打赏
  • 举报
回复
学习
cursor_wang 2008-03-12
  • 打赏
  • 举报
回复
list,map,set都是接口,map是键,值储存的.
Arrylist和Hashmap都是实现类,Arrylist是数组形式的,Hashmap键,值形式的.
加载更多回复(2)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧