关于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()+" "+n.getLitter()+" "+n.getAuthor()); } System.out.println("*****************************************"); //迭代器 Iterator<News> it = set.iterator(); while (it.hasNext()) { News n = it.next(); System.out.println(n.getID()+" "+n.getLitter()+" "+n.getAuthor()); } //set的各种方法 //set增加 set.add(null); //删除 set.remove(news); //对比查找 set.contains(news); //清空集合 set.clear(); //获取长度 set.size(); } }






经验分享 程序员 微信小程序 职场和发展