HashSet

212 阅读2分钟

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 set = new HashSet();

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 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();

} }

———————————————— 版权声明:本文为CSDN博主「jinqianwang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/jinqianwang…