如何在Java中打印 HashSet 元素?
在 HashSet 中,不允许重复。如果我们尝试插入重复项,那么我们不会得到任何编译时或运行时错误,并且 add() 方法只返回 false。
我们可以使用两种方式来打印 HashSet 元素:
- 使用 iterator() 方法遍历集合元素并打印它。
- 使用参考变量直接打印它。
方法 1:通过使用 Cursor 是Iterator 。
- 如果我们想从集合中一个一个地获取对象,那么我们应该去游标。
- 我们可以将迭代器概念应用于任何集合对象,因此它是一个通用游标。
- 通过使用迭代器,我们可以执行读取和删除操作。
- 我们可以使用集合接口的迭代器方法创建一个迭代器对象。
public Iterator iterator(); // Iterator method of Collection Interface.
- 创建迭代器对象
Iterator itr = c.iterator(); // where c is any Collection Object like ArrayList,HashSet etc.
例子:
Java
// Java program to print the elements
// of HashSet using iterator cursor
import java.util.*;
class GFG {
public static void main(String[] args)
{
HashSet hs = new HashSet();
hs.add(5);
hs.add(2);
hs.add(3);
hs.add(6);
hs.add(null);
// print HashSet elements one by one.
// Inserton order in not preserved and it is based
// on hash code of objects.
// creates Iterator oblect.
Iterator itr = hs.iterator();
// check element is present or not. if not loop will
// break.
while (itr.hasNext()) {
System.out.println(itr.next());
}
}
}
Java
// Java program to directly print the
// elements of HashSet
import java.util.*;
class GFG {
public static void main(String[] args)
{
// create HashSet object
HashSet hs = new HashSet();
// add element in HashSet object
hs.add("B");
hs.add("C");
hs.add("D");
hs.add("A");
hs.add("Z");
hs.add("null");
hs.add("10");
// print HashSet
// we dont't know hash code,
// so we don't know order
// of insertion
System.out.println(hs);
}
}
输出
null
2
3
5
6
方法二:我们可以通过使用HashSet对象引用变量直接打印HashSet元素。它将打印完整的 HashSet 对象。
注意:如果我们不知道哈希码,则无法决定插入的顺序。
例子:
Java
// Java program to directly print the
// elements of HashSet
import java.util.*;
class GFG {
public static void main(String[] args)
{
// create HashSet object
HashSet hs = new HashSet();
// add element in HashSet object
hs.add("B");
hs.add("C");
hs.add("D");
hs.add("A");
hs.add("Z");
hs.add("null");
hs.add("10");
// print HashSet
// we dont't know hash code,
// so we don't know order
// of insertion
System.out.println(hs);
}
}
输出
[A, B, C, D, null, Z, 10]