📜  Java程序通过索引获取TreeSet元素

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

Java程序通过索引获取TreeSet元素

TreeSetJava中 SortedSet 接口最重要的实现之一,它使用 Tree 进行存储。无论是否提供显式比较器,元素的顺序都由使用其自然顺序的集合维护。

我们在 TreeSet 中有元素,我们想使用索引从 TreeSet 打印元素。

嘿极客! Web 开发世界中不断出现的新兴技术总是让这个主题充满激情。但在处理大型项目之前,我们建议您先学习基础知识。与我们一起学习 JS 概念,开始您的 Web 开发之旅 JavaScript 课程。现在是有史以来的最低价!

TreeSet set = new TreeSet();
set.add(2);
set.add(3);
set.add(9);
set.add(5);

// TreeSet always used to get prevent
// from the duplicates in the increasing order
Set Contains -> [2,3,5,9] 

所以,我们在 set -> [2, 3, 5, 9] 中有 Element 。现在我们不能直接访问 Element 所以要访问 Element 我们需要将 set 转换为数组或列表来访问元素。

所以有很多方法可以通过索引获取元素:

  1. 通过遍历整个TreeSet并将元素一一添加到数组中,将TreeSet转换为数组。
  2. 使用 .toArray() 方法将 TreeSet 转换为数组。
  3. 将 TreeSet 转换为 ArrayList。

方法一:简单的将TreeSet转换为数组

  • 我们只是创建一个空数组。
  • 我们遍历给定的集合并一一向数组中添加元素
Java
// Java Program to Get the TreeSet Element By Index
  
import java.io.*;
import java.util.*;
class GFG {
    
    public static void main (String[] args) {
        
        TreeSet s = new TreeSet(); 
        s.add(2);
          s.add(3);
          s.add(9);
          s.add(5);
            
        int n = s.size(); 
        int arr[] = new int[n]; 
    
        int i = 0; 
        
        // using for-each loop to traverse through 
        // the set and adding each element to array
        for (int ele : s) 
            arr[i++] = ele; 
    
        for(int res : arr)
        {
            System.out.print(res+ " ");
        }
        
      System.out.println();
        
      // getting the element at index 2
      System.out.print(arr[2]);
    }
}


Java
// Java Program to Get the TreeSet Element By Index
  
import java.io.*;
import java.util.*;
class GFG {
    public static void main (String[] args) {
        
        TreeSet s = new TreeSet(); 
        s.add(2);
          s.add(3);
          s.add(9);
          s.add(5);
            
        int n = s.size(); 
        Integer arr[] = new Integer[n]; 
    
        // .toArray() method converts the
        // set s to array here
        arr = s.toArray(arr); 
    
        for(int ele : arr)
        {
            System.out.print(ele+" ");
        }
        
          System.out.println();
        
        // getting the element at index 2
          System.out.print(arr[2]);
  
    }
}


Java
// Java Program to Get the TreeSet Element By Index
  
import java.io.*;
import java.util.*;
class GFG {
    public static void main (String[] args) {
        
        TreeSet s = new TreeSet(); 
        s.add(2);
          s.add(3);
          s.add(9);
          s.add(5);
            
        int n = s.size(); 
        
        // this constructor converts directly 
        // the whole TreeSet to list
        List list= new ArrayList(s);
    
        for(int ele : list){
            System.out.print(ele+" ");
        }
        
          System.out.println();
        
        // getting the element at index 2
          System.out.print(list.get(2));
  
    }
}


输出
2 3 5 9 
5

方法 2:使用 .toArray() 方法

  • 首先使用 .toArray() 方法将集合转换为数组。
  • 并通过索引访问数组中的元素。

Java

// Java Program to Get the TreeSet Element By Index
  
import java.io.*;
import java.util.*;
class GFG {
    public static void main (String[] args) {
        
        TreeSet s = new TreeSet(); 
        s.add(2);
          s.add(3);
          s.add(9);
          s.add(5);
            
        int n = s.size(); 
        Integer arr[] = new Integer[n]; 
    
        // .toArray() method converts the
        // set s to array here
        arr = s.toArray(arr); 
    
        for(int ele : arr)
        {
            System.out.print(ele+" ");
        }
        
          System.out.println();
        
        // getting the element at index 2
          System.out.print(arr[2]);
  
    }
}
输出
2 3 5 9 
5

方法三:转换为ArrayList

  • 首先直接使用构造函数将集合转换为列表。
  • 然后通过索引从列表中获取元素

Java

// Java Program to Get the TreeSet Element By Index
  
import java.io.*;
import java.util.*;
class GFG {
    public static void main (String[] args) {
        
        TreeSet s = new TreeSet(); 
        s.add(2);
          s.add(3);
          s.add(9);
          s.add(5);
            
        int n = s.size(); 
        
        // this constructor converts directly 
        // the whole TreeSet to list
        List list= new ArrayList(s);
    
        for(int ele : list){
            System.out.print(ele+" ");
        }
        
          System.out.println();
        
        // getting the element at index 2
          System.out.print(list.get(2));
  
    }
}
输出
2 3 5 9 
5