面向对象语言(JAVA)——集合(Set(集)代码实现理解)

 

Collection接口的子类有List、Set、Queue

上章介绍了List接口中的两个最常用的接口ArrayList、LinkedList

这章主要说一下Set的用处和一个代码的理解。

至于关于Queue(队列):大家可以看一下这篇文章,讲的很容易理解http://t.csdn.cn/Wutnaicon-default.png?t=M85Bhttp://t.csdn.cn/Wutna


 

目录

创建实现类的建议 

Set的最明显的用处

HashSet的方法与操作 


 

Java中Set集合的一个最明显的特点就是无序且唯一

Set 集合类似于一个罐子,程序可以依次把多个对象“丢进”Set 集合,而 Set 集合通常不能记住元素的添加顺序。也就是说 Set 集合中的对象不按特定的方式排序,只是简单地把对象加 入集合。

Set 集合中不能包含重复的对象,并且最多只允许包含一个 null 元素。

Set 实现了 Collection 接口,它主要有两个常用的实现类: HashSet 类和 TreeSet类。

不过两者中不是用的比较多的还是HashSet

创建实现类的建议 

 其实对于实现一个类,我比较推荐的是:左边是父类,右边是子类

这样既可以调用子类的方法还可以调用父类的方法

类似下图

HashSet<String> FhashSet = new HashSet<>();
Set<String> FhashSet1 = new HashSet<>();

Set的最明显的用处

用处(1):排除相同元素,假如一个数组有很多不同的数,也有相同的数,想要知道有多少个数,就可以用Set。

用处(2):……

用处(3):……

HashSet的方法与操作 

HashSet的构造方法
        1 HashSet()
        2 HashSet(int initialCapacity)
        3 HashSet(int initialCapacity, float loadFactor)
        4 HashSet(Collection)
HashSet的操作
        1 添加元素add()
        2 删除元素remove()
        3 判断是否包含元素contains()
        4 判断是否为空isEmpty()
        5 获得大小size()
        6 遍历HashSet

public class HashSetTest
{
    //Set 无序且唯一
    public static void main(String[] args)
    {
        //调用无参的构造函数创建HashSet对象,可以传入任意类型
        HashSet hashSet = new HashSet();
        //创建泛型的HashSet集合对象,只能传入String
        HashSet<String> FhashSet = new HashSet<>();
        String course1 = "《刀》";
        String course2 = "《剑》";
        String course3 = "《无》";
        String course4 = "《眼》";
        String course5 = "《眼》";
        String course6 = "《Lungcen》";
        //Set 集合中不能包含重复的对象,并且最多只允许包含一个 null 元素
        FhashSet.add(course1); // 将 course1 存储到 Set集合中
        FhashSet.add(course2); // 将 course2 存储到 Set集合中
        FhashSet.add(course3); // 将 course3 存储到 Set集合中
        FhashSet.add(course4); // 将 course4 存储到 Set集合中
        FhashSet.add(course5); // 将 course5 存储到 Set集合中
        FhashSet.add(course6); // 将 course6 存储到 Set集合中

        Iterator iterator = FhashSet.iterator();
        //不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也有可能发生变化。
        while (iterator.hasNext())
        {
            System.out.println(iterator.next());
        }
    }
}

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lungcen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值