关于HashSet的各种使用方法总结


1,HashSet是set接口的实现类,也是我们最常用的set集合
储存的是无序,唯一的对象
由于是无序的所以每组数据都没有索引,很多list可用的方法他都没有
凡是需要通过索引来进行操作的方法都没有
所以也不能使用普通for循环来进行遍历,只有加强型for和迭代器两种遍历方法

例如:
get(i);
set(int index,Object o);
remove(int index);
等需要用索引来操作的方法都没有;

2.HashSet的各种方法:
增加
add(null);
    
删除
remove(news);
    
对比查找
contains(news);
    
清空集合
clear();
    
获取长度
size();

示例:

public class NewsHashSet {
public static void main(String[] args) {
    News news = new News(1, "北京终于放晴了!", "新闻社");
    News news2 = new News(2, "香港回归纪念日", "人民新闻");
    News news3 = new News(3, "假奶粉事件曝光", "人民新闻网");
    
    //创建HashSet集合,储存无序,唯一的数据
    //HashSet是是使用equals来进行对象对比,确定数据是唯一的
    //如果两个数据的对象是一致的,那么HashSet将会把这两个合并,只储存一个空间
    HashSet<News> set = new HashSet<News>();
    set.add(news);
    set.add(news2);
    set.add(news3);
    
    //由于HashSet储存数据都是无序的,所以不能用get(i);来获取具体对象
    //所以我们必须通过遍历来得到HashSet的各个数据,由于是没有索引的
    //所以不能使用普通类型的for来遍历它
    //HashSet只能通过增强型for和迭代器来遍历它
    
    //增强型for
    for(News n : set){
        System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
    }
    System.out.println("*****************************************");
    //迭代器
    Iterator<News> it = set.iterator();
    while (it.hasNext()) {
        News n = it.next();
        System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
    }
    
    //set的各种方法
    //set增加
    set.add(null);
    
    //删除
    set.remove(news);
    
    //对比查找
    set.contains(news);
    
    //清空集合
    set.clear();
    
    //获取长度
    set.size();
    
}
}

---------------------
作者:jinqianwang
来源:CSDN
原文:https://blog.csdn.net/jinqianwang/article/details/80030060
版权声明:本文为博主原创文章,转载请附上博文链接!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM