📌  相关文章
📜  在Java中遍历 LinkedHashSet 的元素

📅  最后修改于: 2022-05-13 01:54:49.056000             🧑  作者: Mango

在Java中遍历 LinkedHashSet 的元素

LinkedHashSetHashSet的有序版本,它在所有元素之间维护一个双向链表。当需要维护迭代顺序时,使用这个类。

例子:

Input: 
["Geeks", "for", "Geeks"]


Output:
Geeks
for
Geeks
    
Input: 
[9, 4, 6, 2, 8]


Output:
9
4
6
2
8

迭代 LinkedHashSet 元素的不同方法:

  1. 使用 for-each 循环
  2. 使用迭代器
  3. 使用 JDK 1.8 流

方法 1:使用 for-each 循环

Java
// Java Program to Iterate through linkedHashset
// Using the for-each loop
  
import java.io.*;
import java.util.LinkedHashSet;
  
class GFG {
    public static void main(String[] args)
    {
  
        LinkedHashSet gfg
            = new LinkedHashSet();
  
        // Adding element to LinkedHashSet
        gfg.add("Geeks");
        gfg.add("for");
        gfg.add("geeks");
  
        // iterating LinkedHashSet using enhanced for loop
        for (String itr : gfg) {
            System.out.println(itr);
        }
    }
}


Java
// Java code to demonstrate 
// the iterating over LinkedHashSet 
// Using iterators
    
import java.io.*; 
import java.util.*; 
    
class IteratingLinkedHashSet { 
    
    public static void main(String[] args) 
    { 
        // Instantiate an object of Set 
        // Since LinkedHashSet implements Set 
        // Set points to LinkedHashSet 
        Set gfg = new LinkedHashSet(); 
    
        // Elements are added using add() method 
        gfg.add("Geek"); 
        gfg.add("For"); 
        gfg.add("Geeks"); 
        gfg.add("Courses"); 
        gfg.add("Interview Prep"); 
        gfg.add("Doubt Classes"); 
    
        // Iterating through the LinkedHashSet 
        Iterator itr = gfg.iterator(); 
        
        while (itr.hasNext()){
              System.out.println( itr.next() );
        }
    }
}


Java
// Java code to demonstrate
// the iterating over LinkedHashSet
// Using JDK 1.8 streams
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        LinkedHashSet gfg = new LinkedHashSet();
  
        // Elements are added using add() method
        gfg.add(9);
        gfg.add(7);
        gfg.add(11);
        gfg.add(43);
        gfg.add(2);
  
        // Using forEach Method using Stream.
        gfg.stream().forEach(System.out::println);
    }
}


输出
Geeks
for
geeks

方法二:使用迭代器

使用 LinkedHashSet 的元素迭代 迭代器方法我们将使用hasNext()方法和next()方法以及 while 循环来遍历 LinkedHashSet 元素。

类型参数:

  • E – 此集合维护的元素类型。

句法:

public Iterator iterator()

返回:此方法以与输入相同的顺序返回 LinkedHashSet 的元素。

Java

// Java code to demonstrate 
// the iterating over LinkedHashSet 
// Using iterators
    
import java.io.*; 
import java.util.*; 
    
class IteratingLinkedHashSet { 
    
    public static void main(String[] args) 
    { 
        // Instantiate an object of Set 
        // Since LinkedHashSet implements Set 
        // Set points to LinkedHashSet 
        Set gfg = new LinkedHashSet(); 
    
        // Elements are added using add() method 
        gfg.add("Geek"); 
        gfg.add("For"); 
        gfg.add("Geeks"); 
        gfg.add("Courses"); 
        gfg.add("Interview Prep"); 
        gfg.add("Doubt Classes"); 
    
        // Iterating through the LinkedHashSet 
        Iterator itr = gfg.iterator(); 
        
        while (itr.hasNext()){
              System.out.println( itr.next() );
        }
    }
}
输出
Geek
For
Geeks
Courses
Interview Prep
Doubt Classes

方法 3:使用 JDK 1.8

使用 LinkedHashSet 的元素迭代 forEach 方法。 我们将使用Stream 遍历整个内容。流表示来自源的一系列对象,它支持聚合操作。

句法:

set.stream().forEach()

返回:返回一个将集合作为源的顺序流。

Java

// Java code to demonstrate
// the iterating over LinkedHashSet
// Using JDK 1.8 streams
  
import java.io.*;
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        LinkedHashSet gfg = new LinkedHashSet();
  
        // Elements are added using add() method
        gfg.add(9);
        gfg.add(7);
        gfg.add(11);
        gfg.add(43);
        gfg.add(2);
  
        // Using forEach Method using Stream.
        gfg.stream().forEach(System.out::println);
    }
}
输出
9
7
11
43
2

时间复杂度: O(N),其中 N 为否。 LinkedHashSet 的元素。