java之List集合与Set集合的区别(1)

上一篇写的是最近开发中用到的一些Map集合方法的描述及示例,现在我在把项目中用到的List集合以及Set集合做一个总结以及代码示例。

 

项目中我用到的List集合主要是ArrayList以及HashSet,他们全都是继承自Collection接口;

List底层就是数组(也就是说可以根据下标来拿到list中的元素),特点是元素有序放入,元素可以有重复,元素可以为null;可以使用for循环遍历,也可以使用迭代器。

HashSet是基于哈希表实现的,元素无序放入,放入的值可以为null,但是只能有一个null,因为HashSet的元素是不可重复的;Set取值只能使用迭代器或者使用foreach遍历,因为它无序,所以不能依照下标取值。

下面直接上代码,更直观的发现两者的不同

循环List集合元素的代码示例如下:
public static void main(String[] args) {
        //new出List实例
        List list = new ArrayList();
        //在list里添加数据
        list.add("飞机");
        list.add("坦克");
        list.add("大炮");
        //循环list
        for (int i = 0; i < list.size(); i++) {
            //得到list的第i个下标的值
            Object o = list.get(i);
            //输出得到的值
            System.out.println("list集合里第"+i+"个的值为:"+o);
        }
}

输出结果为:

list集合里第0个的值为:飞机
list集合里第1个的值为:坦克
list集合里第2个的值为:大炮

foreach遍历Set集合元素的代码如下:(与List集合放入元素的顺序一致)

public static void main(String[] args) {
        int i = 1;//用来记录取出的是第几个值
        //创建HashSet实例
        Set set = new HashSet();
        //向集合里添加值
        set.add("飞机");
        set.add("坦克");
        set.add("大炮");
        //遍历set集合
        for (Object machine:set) {
        //输出set集合的每一个值
        System.out.println("得到的Set集合第"+i+++"个的值为"+machine);
        }
 }

输出结果为:

得到的Set集合第1个的值为大炮
得到的Set集合第2个的值为飞机
得到的Set集合第3个的值为坦克

从代码可以看出Set集合与List集合最大的区别就是Set集合的元素储存是无序的不可重复的,而List集合的元素储存是有序的可重复的,和数组一样可以根据下标取值;剩下的存null值大家可以自己试验一下,在这就不多做演示了。---纯属原创,不喜勿喷。

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值