前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java开发知识之Java中的集合Set接口以及子类应用

Java开发知识之Java中的集合Set接口以及子类应用

作者头像
IBinary
发布2019-05-25 16:35:21
4760
发布2019-05-25 16:35:21
举报
文章被收录于专栏:逆向技术

---恢复内容开始---

            Java开发知识之Java中的集合Set接口以及子类应用

一丶Set接口以及作用

  在上一讲.我们熟悉了接口的实现图.以及自己各有的子类.

  List接口主要存储的数据是可以重复的.并且一个是动态数组 (ArrayList) 一个是链表操作(LinedList)

Set接口:

  Set集合主要的作用就是 Set集合中的对象,不按照特定的方式排序.只是简单的把对象加入到集合中,但是最重要的一点就是.Set集合中不能包含重复的对象.Set集合是个接口,实现了Collection接口.因此Collection接口中的所有方法.Set接口中都要.

二丶Set接口的具体实现类.

  HashSet 跟 TreeSet

两个类分别的作用:

  HashSet:

    HashSet类,实现了Set接口.是由哈希表(HashMap 实例.也就是对象支持的),他不保证Set的迭代顺序.

特别的是他不保证这个顺序是恒久不变的.这个类可以使用Null元素.

  TreeSet:

    TreeSet不仅实现了Set接口,还是先了Java.utio.SortedSet接口,因此TreeSet类实现的Set集合.

在遍历集合的时候.会按照自然顺序递增排序.也可以按照指定的比较器的递增排序.

总结:

    总结来说.两个类一个类是不保证顺序的.一个类是可以按照顺序遍历或者迭代的.(遍历跟迭代一个意思)

1.TreeSet类中的方法

firset方法.返回Set集合中第一个元素.或者最低的元素.

last()方法, 返回Set集合中最后一个元素.或者最高的元素.

compareator():就是返回比较器.如果自然排序.就返回null

以上方法就是返回一个新的Set集合. 可以范围返回. 也可以之间返回.

2.使用TreeSet.

  1.建立一个类.实现Comparable泛型接口

  2.此类重写接口中的compareTo方法.

  3.方法中比较.id. 谁大返回谁.

代码语言:javascript
复制
public  class Student implements Comparable<Object> {

    String name;
    int id;
    public Student(String name,String id) {
        // TODO 自动生成的构造函数存根
        this.name = name;
        this.id  = Integer.parseInt(id);
    }

    
    public  int compareTo(Object o) {
        // TODO 自动生成的方法存根
        Student stu = (Student)o;
        int result = this.id > stu.id ? 1:(this.id ==  stu.id  ? 0 : 1);
        return 0;
    }
  // 以下提供SetGet方法即可,这里不再写了.
}

实现了compareTo方法. 并且判断id. 如果id > 传入对象的Id. 那么就返回1,否则判断是否相等.相等返回0.否则返回1

PS: 这里实现Compareable<>接口的时候.里面需要传入Object

使用TreeSet类.

  使用TreeSet就是将对象存入TreeSet集合中,但是前提就是必须我们的对象必须是上面实现了Compareable<Object>接口的对象才可以. 并且重写了排序方法.这样我们的TreeSet集合才能使用.

  比如我们存储字符串

代码语言:javascript
复制
        //1.使用add方法.添加到集合中.
        tree.add("Apple");
        tree.add("banale");
        tree.add("boy");
        tree.add("Girl");
        //2.全部遍历
        System.out.println("开始进行全部遍历");
        java.util.Iterator<String> it = tree.iterator();
        while(it.hasNext()) {
            String str = (String)it.next();
            System.out.println("遍历结果 " + str);
        }

添加跟遍历

结果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •             Java开发知识之Java中的集合Set接口以及子类应用
    • 一丶Set接口以及作用
      • 二丶Set接口的具体实现类.
        • 1.TreeSet类中的方法
        • 2.使用TreeSet.
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档