java中HashSet怎样遍历取出里面的值?给个例子~~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中HashSet怎样遍历取出里面的值?给个例子~~相关的知识,希望对你有一定的参考价值。

HashSet<String> set=new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
Iterator<String> iterator=set.iterator();
while(iterator.hasNext())
System.out.println(iterator.next());

控制台输出:
3
2
1
对于集合这块的类都可以这样写的,比如你把第一行换成:
ArrayList<String> set=new ArrayList<String>();
后面的程序不动,一样可以遍历输出的。
不太懂的话可以百度Iterator的用法和原理
参考技术A import java.util.*;
public class Test
public static void main(String[] args)
Set<String> set=new TreeSet<String>();//HashSet直接替换
for (String s:set)
if(isSubString(s, set))
//调用方法一
else
//调用方法二



public static boolean isSubString(String target,Set<String> set)
for (String s:set)
if(s.contains(target)&&!s.equals(target))
return true;

return false;

Set接口HashSet实现类

java.util.Set接口 extends Collection接口

Set特点:
1、不允许有重复的元素
2、没有索引,没有带索引的方法,也不能使用普通的for遍历

java.util.HashSet集合 implements Set接口

Set接口的一个实现类
HashSet特点:
1、没有重复的元素
2、没有索引,没有带索引的方法,也不能使用普通的for遍历
3、是一个无序的集合,存储和取出的顺序有可能不一致
4、底层是一个哈希表结构(查找快)

public class Demo01Set {
    public static void main(String[] args) {
        Set<Integer> set = new HashSet<>();
        set.add(3);
        set.add(3);
        set.add(2);
        set.add(12);
        set.add(22);
        set.add(13);// 添加
        set.add(222);
        System.out.println(set.size());
        Iterator<Integer> it = set.iterator();
        while(it.hasNext()) {// while迭代器遍历
            Integer next = it.next();
            System.out.println(next);

        }

        for(Integer next: set) {// for each遍历
            System.out.println(next);
        }
    }
}

哈希值

Object类有一个hashCode方法,返回对象的哈希值,一个十进制的值

Student stu = new Student();
int hashcode = stu.hashCode();

Set不允许元素重复的原理

技术图片

以上是关于java中HashSet怎样遍历取出里面的值?给个例子~~的主要内容,如果未能解决你的问题,请参考以下文章

怎样从list中取出最大的数?

怎样从java集合类set中取出数据

怎样从java集合类set中取出数据

HashSet集合

JAVA 取出数组中特定的值

Set接口HashSet实现类