在 Java 中遍历 Set
本文将介绍在 Java 中如何在不使用迭代器的情况下对 Set
或 HashSet
进行迭代。迭代器用于以随机顺序返回元素。这个任务可以使用迭代器以外的各种方法来完成。
在 Java 中使用增强的 for
循环对 Set/HashSet
进行迭代
Java 中的 for-each
循环也被称为增强的 for
循环。它用于在 Java 中迭代数组和集合的元素。
在这里,我们使用 HashSet
类创建了一个名为 mySet
的 Set
,这是一个字符串元素的集合。通过调用 mySet
上的 add()
方法,我们向 mySet
添加了元素。
使用增强的 for
循环,我们可以迭代集合内的每个元素并打印出来,如代码所示。对于 mySet
中每个类型为 String
的元素 s
,我们可以对其进行迭代。注意,元素在无序集合中迭代。
import java.util.HashSet;
import java.util.Set;
public class IterateOverHashSet {
public static void main (String[] args){
Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Mango");
for(String s : mySet){
System.out.println("s is : "+s);
}
}
}
输出:
s is : Mango
s is : Apple
s is : Banana
在 Java 中使用枚举法迭代 Vector
Vector
实现了 List
接口,它可以帮助我们创建类似 ArrayList
类的可调整大小的数组。首先,我们使用 HashSet
类创建了一个字符串类型元素的 Set
,之后使用 add()
方法向其中添加元素。
然后将 myset
传递给 Vector
类的构造函数,然后调用 elements()
方法来枚举 Vector
的元素。
然后,我们使用 while
循环来打印,直到 Enumeration
(e
)有更多的元素。连续调用 nextElements()
方法返回该系列的连续元素。
import java.util.HashSet;
import java.util.Set;
import java.util.Vector;
import java.util.Enumeration;
public class IterateOverHashSet {
public static void main (String[] args){
Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Mango");
Enumeration e = new Vector(mySet).elements();
while (e.hasMoreElements()) {
System.out.println(e.nextElement());
}
}
}
输出:
Mango
Apple
Banana
在 Java 中通过将 Set/HashSet
转换为一个数组来迭代 Set/HashSet
我们首先创建一个字符串类型元素的 Set
,并向 mySet
添加元素。为了对元素进行迭代,我们使用 toArray()
方法将 mySet
转换为一个数组。toArray()
方法返回一个数组,这个数组的元素与 HashSet
中的元素相同。
然后通过使用 for
循环,我们就可以循环处理新数组中的所有元素,命名为 myArray
。打印每个元素,如下面的代码所示。
import java.util.HashSet;
import java.util.Set;
public class IterateOverHashSet {
public static void main (String[] args){
Set<String> mySet = new HashSet<>();
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Mango");
String [] myArray = mySet.toArray(new String[mySet.size()]);
for(int index = 0 ; index < myArray.length; index++){
System.out.println("element : "+myArray[index]);
}
}
}
输出:
element : Mango
element : Apple
element : Banana
在 Java 中使用 Array
类的 stream()
方法迭代 Set/HashSet
在下面的代码中,我们首先使用 Java 中的 HashSet
类创建一个 String
类型元素的 Set
。然后我们通过对其实例 fruits
调用 add()
方法向其添加元素。
stream()
方法返回一个顺序的集合流。我们将我们的 Set
的 String
–fruits
,转换为 stream
。之后我们用一个 lambda
表达式来显示 stream
的元素。
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;
public class Simple{
public static void main(String args[]){
Set<String> fruits = new HashSet<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Mango");
Stream<String> stream = fruits.stream();
stream.forEach((fruit) ->
System.out.println(fruit)
);
}
}
输出:
Apple
Mango
Banana
相关文章
Java 中的动态方法调度
发布时间:2023/10/18 浏览次数:199 分类:Java
-
本教程展示了 Java 中动态方法分派的定义、优势和使用。本教程介绍了 Java 中的动态方法分派。它讲述了它的技术定义和重要性,并用代码示例进行了解释。
Java 中的 abs() 方法
发布时间:2023/10/18 浏览次数:184 分类:Java
-
本教程通过 Java 中的不同代码示例介绍如何使用 abs() 方法。我们将学习 Java 中的 abs() 方法来查找指定数字的绝对值。我们将通过编写和练习各种代码示例来学习。
在 Java 中使用 System.exit() 方法
发布时间:2023/10/18 浏览次数:157 分类:Java
-
本文介绍 Java 中 System.exit() 方法的作用。本教程介绍了 Java 中的 System.exit() 方法的作用。System 是 Java 中的一个类,它提供了几种实用方法来处理与系统相关的任务,例如 exit() 方法用于停止当前
在 Java 中编写本机方法
发布时间:2023/10/18 浏览次数:57 分类:Java
-
本文演示了本机方法是什么以及如何在 Java 程序中编写本机方法。本文将引导你完成学习如何在 Java 程序中编写本机方法所需的各个步骤。
Java 中静态方法和非静态方法的区别
发布时间:2023/10/18 浏览次数:134 分类:Java
-
本教程对 Java 中的静态和非静态方法进行了分类,同时区分了它们的核心属性和范围。之后,我们将对这两种方法运行三个示例。
Java 中的私有方法
发布时间:2023/10/18 浏览次数:51 分类:Java
-
本教程演示了 Java 中私有方法的使用。Java 中的私有方法有一个私有访问修饰符,这意味着它们对定义类的访问受到限制,并且在继承的子类中不可访问;这就是为什么他们没有资格覆盖。
Java 中的流过滤器
发布时间:2023/10/18 浏览次数:130 分类:Java
-
本文介绍 Java 中的流 API 及其过滤方法。本教程介绍 Java 中的流 API 及其 filter() 方法。在 Java 中,流是对象的集合。
Java 中的方法重载
发布时间:2023/10/18 浏览次数:186 分类:Java
-
本教程简要介绍了 Java 中的方法重载。它还演示了我们如何以及何时可以在 Java 编程中使用方法重载。如果你正在学习 Java 编程,你可能听说过方法重载。我们将在本文中介绍 Java 中的方法重载
Java 中的方法隐藏
发布时间:2023/10/18 浏览次数:137 分类:Java
-
本文介绍了 Java 中方法隐藏的概念。在本文中,我们将研究 Java 中方法隐藏的概念。方法隐藏类似于重载,但是当对子类和父类中的静态函数使用相同的方法签名时,它就会发挥作用。