📜  如何通过索引从Java中的 HashSet 获取元素?

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

如何通过索引从Java中的 HashSet 获取元素?

HashSet 扩展了 AbstractSet 并实现了 Set 接口。它创建了一个使用哈希表进行存储的集合。该类不保证元素随时间的顺序不变,但允许空元素。 HashSet 的底层数据结构是Hashtable。 HashSet 还实现了 Serializable 和 Cloneable 接口。

HashSet 的声明:

我们可以通过 HashSet 中的索引获取元素的三种不同方式是:

  1. 使用数组
  2. 使用 for 循环
  3. 使用 ArrayList

方法一:使用数组

  1. 导入所需的Java包Java.util
  2. 使用 Set 接口声明 HashSet
  3. 使用 add() 方法向 HashSet 添加元素
  4. 显示 HashSet 以确定元素的顺序
  5. 使用 toArray() 方法将 HashSet 转换为 Array
  6. 按索引访问元素。
Java
// Java Program to get HashSet elements by index using Array
  
// import required package - java.util
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Declare HashSet using Set Interface
        Set GFG = new HashSet();
  
        // Add elements into HashSet using add()
        GFG.add("Welcome");
        GFG.add("To");
        GFG.add("Geeks");
        GFG.add("For");
        GFG.add("Geek");
  
        // Displaying HashSet
        System.out.println("HashSet contains: " + GFG);
  
        // Notice the order of elements may be different
        // than insertion
  
        // Converting HashSet to Array
        String[] Geeks = GFG.toArray(new String[GFG.size()]);
  
        // Accessing elements by index
        System.out.println("Element at index 3 is: "
                           + Geeks[3]);
    }
}


Java
// Java Program to get elements of HashSet by index using a
// for loop
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Declare HashSet using Set Interface
        Set GFG = new HashSet();
  
        // Add elements into HashSet using add()
        GFG.add("Welcome");
        GFG.add("To");
        GFG.add("Geeks");
        GFG.add("For");
        GFG.add("Geek");
  
        // Displaying HashSet
        System.out.println("HashSet contains: " + GFG);
  
        // Notice the order of elements may be different
        // than insertion
  
        // Iterator declaration
        int currentIndex = 0;
  
        // Desired Index
        int desiredIndex = 3;
        
        for (String element :GFG) { 
          // Implementing for loop
  
            if (currentIndex == desiredIndex)
            {
                System.out.println("Element at index 3 is: "+ element);
                break;
            }
            currentIndex++;
        }
    }
}


Java
// Java Program to get elements of HashSet by index using
// ArrayList
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Declare HashSet using Set Interface
        Set GFG = new HashSet();
  
        // Add elements into HashSet using add()
        GFG.add("Welcome");
        GFG.add("To");
        GFG.add("Geeks");
        GFG.add("For");
        GFG.add("Geek");
  
        // Displaying HashSet
        System.out.println("HashSet contains: " + GFG);
  
        // Notice the order of elements may be different
        // than insertion
  
        // Converting HashSet to ArrayList
        List list = new ArrayList(GFG);
  
        System.out.println("Element at index 3 is: "
                           + list.get(3));
    }
}


输出
HashSet contains: [Geek, Geeks, For, Welcome, To]
Element at index 3 is: Welcome

方法 2:使用 for 循环

  1. 导入所需的包 – Java.util
  2. 使用 Set 接口声明 HashSet
  3. 使用 add() 方法向 HashSet 添加元素
  4. 显示 HashSet 以确定元素的顺序
  5. 确定所需的索引
  6. 实现 for 循环以按索引访问元素

Java

// Java Program to get elements of HashSet by index using a
// for loop
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Declare HashSet using Set Interface
        Set GFG = new HashSet();
  
        // Add elements into HashSet using add()
        GFG.add("Welcome");
        GFG.add("To");
        GFG.add("Geeks");
        GFG.add("For");
        GFG.add("Geek");
  
        // Displaying HashSet
        System.out.println("HashSet contains: " + GFG);
  
        // Notice the order of elements may be different
        // than insertion
  
        // Iterator declaration
        int currentIndex = 0;
  
        // Desired Index
        int desiredIndex = 3;
        
        for (String element :GFG) { 
          // Implementing for loop
  
            if (currentIndex == desiredIndex)
            {
                System.out.println("Element at index 3 is: "+ element);
                break;
            }
            currentIndex++;
        }
    }
}
输出
HashSet contains: [Geek, Geeks, For, Welcome, To]
Element at index 3 is: Welcome

方法三:使用ArrayList

  • 导入所需的包Java.util
  • 使用 Set 接口声明 HashSet
  • 使用 add() 方法向 HashSet 添加元素
  • 显示 HashSet 以确定元素的顺序
  • 将 HashSet 转换为 ArrayList
  • 按索引访问元素

Java

// Java Program to get elements of HashSet by index using
// ArrayList
  
import java.util.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Declare HashSet using Set Interface
        Set GFG = new HashSet();
  
        // Add elements into HashSet using add()
        GFG.add("Welcome");
        GFG.add("To");
        GFG.add("Geeks");
        GFG.add("For");
        GFG.add("Geek");
  
        // Displaying HashSet
        System.out.println("HashSet contains: " + GFG);
  
        // Notice the order of elements may be different
        // than insertion
  
        // Converting HashSet to ArrayList
        List list = new ArrayList(GFG);
  
        System.out.println("Element at index 3 is: "
                           + list.get(3));
    }
}
输出
HashSet contains: [Geek, Geeks, For, Welcome, To]
Element at index 3 is: Welcome