List 接口提供了一種存儲有序集合的方法。它是可以存儲重複值的對象的有序集合。由於 List 保留了插入順序,它允許元素的位置訪問和插入。
HashSet 類允許空元素。該類還為添加、刪除、包含和大小等基本操作提供恒定的時間性能,假設哈希函數將元素正確地分散在桶中,我們將在本文中進一步了解。
Note:The set doesn’t allow to store duplicate values. Therefore, any duplicate value in list will be ignored.
List轉HashSet的方法:
- 將列表對象作為 HashSet 中的參數傳遞。
- 使用循環將 List 的每個元素添加到 HashSet 中。
- 使用 Set 類的 addAll() 方法。
- 在 Java 中使用流
方法一:傳遞列表對象作為參數 在哈希集中
我們使用 HashSet 構造函數將其轉換為 List。
Java
// Java program to demonstrate conversion of
// list to set using constructor
import java.util.*;
class GFG {
public static void main(String[] args)
{
// Create a List
List<String> L = new ArrayList<String>();
// Add values to the List
L.add("Aragorn");
L.add("Gandalf");
L.add("Legolas");
L.add("Frodo");
// Create a Set and pass List object as parameter
HashSet<String> S = new HashSet<String>(L);
// Print values of Set
System.out.println("HashSet Elements are:");
// since the set is of string type, create a String
// object to iterate through set
for (String ob:S)
{
System.out.println(ob);
}
}
}
HashSet Elements are: Aragorn Frodo Gandalf Legolas
方法2:使用循環將List的每個元素添加到HashSet中
我們隻需創建一個列表。我們遍曆給定的 List 並將元素一一添加到 Set 中。
Java
// Java program to demonstrate conversion of
// list to set using simple traversal
import java.util.*;
class GFG {
public static void main(String[] args)
{
// Create a List
List<Integer> L = new ArrayList<Integer>();
// Add values to the List
L.add(1);
L.add(4);
L.add(30);
L.add(100);
L.add(15);
L.add(30);
// Create a Set and pass List object as parameter
HashSet<Integer> S = new HashSet<Integer>();
// add each element of list into set
for (Integer ob:L)
{
S.add(ob);
}
// Print values of Set
System.out.println("HashSet Elements are:");
// Create an Object ob that will automatically
// identify the type of object of HashSet to iterate
// through set
for (Object ob:S)
{
System.out.println(ob);
}
}
}
HashSet Elements are: 1 4 100 30 15
方法3:使用addAll() 方法集合類
java.util.Set.addAll(Collection C) 方法用於將提到的集合中的所有元素附加到現有集合中。元素是隨機添加的,不遵循任何特定順序。
用法:
boolean addAll(Collection C)
參數:參數 C 是要添加到集合中的任何類型的集合。
返回值:如果成功地將集合 C 的元素附加到此 Set,則該方法返回 true,否則返回 False。
Java
// Java program to demonstrate conversion of
// Set to array using addAll() method.
import java.util.*;
class GFG {
public static void main(String[] args)
{
// Create a List
List<Integer> L = new ArrayList<Integer>();
// Add values to the List
L.add(1);
L.add(4);
L.add(30);
L.add(100);
L.add(15);
L.add(30);
Set<Integer> S = new HashSet<Integer>();
// Use addAll() method
S.addAll(L);
// Print values of Set
System.out.println("HashSet Elements are:");
// Create an Object ob that will automatically
// identify the type of object of HashSet to iterate
// through set
for (Object ob:S)
{
System.out.println(ob);
}
}
}
HashSet Elements are: 1 4 100 30 15
方法四:使用流我n Java
注意:Stream 僅適用於 Java8 或更高版本。
我們在java中使用流將給定的列表轉換為流,然後流到集合。這僅適用於 Java 8 或之後的版本。
Java
// Java program to demonstrate conversion of
// Set to list using stream
import java.util.*;
class GFG {
public static void main(String[] args)
{
// Create a List
List<String> L = new ArrayList<String>();
// Add values to the List
L.add("Rohan");
L.add("Ritik");
L.add("Yogesh");
L.add("Sangeeta");
L.add("Palak");
L.add("Laxmi");
// create a stream from List and convert it into a
// Set
Set<String> S = L.stream().collect(Collectors.toSet());
// Print values of Set
System.out.println("HashSet Elements are:");
// Create an Object ob that will automatically
// identify the type of object of HashSet to iterate
// through set
for (String ob:S)
{
System.out.println(ob);
}
}
}
輸出:
HashSet Elements are: 1 4 100 30 15
相關用法
- Java HashSet轉ArrayList用法及代碼示例
- Java HashSet轉TreeSet用法及代碼示例
- Java HashSet轉array用法及代碼示例
- Java Array轉HashSet用法及代碼示例
- Java ArrayList轉HashSet用法及代碼示例
- Java HashSet contains()用法及代碼示例
- Java HashSet clear()用法及代碼示例
- Java HashSet isEmpty()用法及代碼示例
- Java HashSet iterator()用法及代碼示例
- Java HashSet remove()用法及代碼示例
- Java HashSet size()用法及代碼示例
- Java HashSet add()用法及代碼示例
- Java HashSet clone()用法及代碼示例
- Java HashSet spliterator()用法及代碼示例
- Java ArrayList和HashSet的區別用法及代碼示例
注:本文由純淨天空篩選整理自rohanchopra96大神的英文原創作品 Java Program to Convert List to HashSet。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。