泰宁新闻网

list与set的区别,list与set的区别

泰宁新闻网 http://www.tainingxinwen.cn 2020-09-20 08:53 出处:网络
list与set的区别,list与set的区别,集合接口list与集合接口set的区别 在Java中 除了 Map以外的集合的根接口都是Collection接口,而在Collection接口的子接口中,最重要的莫过于List和Set集合接口。

list与set的区别,list与set的区别,集合接口list与集合接口set的区别

在Java中 除了 Map以外的集合的根接口都是Collection接口,而在Collection接口的子接口中,最重要的莫过于List和Set集合接口。

今天我们就来谈谈List集合接口与Set集合接口的差异性。

 

查看List集合接口的接口方法

list与set的区别,list与set的区别

list与set的区别,list与set的区别

查看Set集合接口的API

list与set的区别,list与set的区别

 

从两者的API中,以add和get为例来看, List中提供索引的方式来添加元素和获取元素,而Set并不提供。由此可见List集合可是达到精确的存储和获取,而Set只能一个一个的比较,显然效率和实用性是比不上List集合的

 

List集合是有序存储,Set集合是无序存储。这里的有序和无序针对的是存储地址来说的。 List可以存储重复的值,Set不可以存储重复的值

我们看下面的例子

 

/**
*向List集合里面添加一百个随机数
*/
@Test public void listTest() { List Integer list = new ArrayList (); for (int i = 0; i 100; i++) { Random random = new Random(); list.add(random.nextInt(101)); Iterator Integer iterator = list.iterator(); while(iterator.hasNext()) { System.out.print(iterator.next().toString()+" "); System.out.println("list 的大小="+list.size()); }

 

输出结果是:58 30 16 71 84 89 86 19 52 15 80 10 2 53 62 96 47 100 54 83 91 68 43 39 23 11 52 ...
其中 值为52的重复出现
list的大小 = 100
遍历了一百次,每一次的值都放到了List集合里面。

 

 

 /**
 * 向Set集合里面添加一百个随机数
 @Test
 public void setTest() {
 Set Object set = new HashSet ();
 for (int i = 0; i 100; i++) {
 Random random = new Random();
 set.add(random.nextInt(101));
 Iterator Object iterator = set.iterator();
 while(iterator.hasNext()) {
 System.out.print(" "+iterator.next());
 System.out.println();
 System.out.println("set的大小="+set.size());
 }

本文标题:list与set的区别,list与set的区别
http://www.tainingxinwen.cn/qitaxinxi/485419.html

0

精彩评论

暂无评论...
验证码 换一张
取 消