在 Java 中將 map 值轉換為列表
本教程將執行三個程式來展示如何將 Hashmap 值轉換為 Java 中的列表。
在 Java 中定義要轉換為列表的 map
在將 map 值轉換為列表之前,我們必須先擁有一個 map 物件,然後為其分配兩種資料型別:整數(鍵)和字串(值),然後再將其分組為列表。
該程式中的鍵是汽車的 RPM 值,而字串是它們的顏色。
語法:
Map<Integer, String> M2L = new HashMap<>();
M2L.put(5000, "Toyata Black");
M2L.put(6000, "Audi White");
M2L.put(8000, "BMW Red");
M2L.put(12000, "Buggati Silver");
在 Java 中使用 Collectors
流將 map 轉換為列表
Collectors
是在 Java 中擴充套件物件的公共類。它們還幫助收集元素並根據使用者預定義的各種基準來總結特徵。
在這裡,我們使用 keySet()
方法通過從 map 返回的集合建立陣列列表來獲取鍵。
檢視以下示例,該示例將 map 轉換為列表。
示例 1:
package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MapToList
{
public static void main(String[] args)
{
Map<Integer, String> M2L = new HashMap<>();
M2L.put(1, "New York");
M2L.put(2, "Toronto");
M2L.put(3, "Berlin");
List<Integer> ID = M2L.keySet().stream().collect(Collectors.toList());
ID.forEach(System.out::println);
List<String> NAME = M2L.values().stream().collect(Collectors.toList());
NAME.forEach(System.out::println);
}
}
輸出:
1
2
3
New York
Toronto
Berlin
在我們的第二個示例中考慮以下程式碼。
語法:
List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
示例 2:
package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MaptoListExample2
{
public static void main(String[] args)
{
Map<Integer, String> maptolist = new HashMap<>();
maptolist.put(1, "This");
maptolist.put(2, "Is");
maptolist.put(3, "A");
maptolist.put(4, "Demo");
maptolist.put(5, "Example");
List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
System.out.println("Keys:");
nums.forEach(System.out::println);
//Conversion Strings
List<String> chars = maptolist.values().stream().collect(Collectors.toList());
System.out.println("Values:");
chars.forEach(System.out::println);
}
}
輸出:
Keys:
1
2
3
4
5
Values:
This
Is
A
Demo
Example
現在我們已經瞭解了 map 和列表背後的底層邏輯並使用了物件 Collectors
的組合,下面是一個可靠的 map 到列表程式,它可以在任何情況下工作。
keySet()
函式返回 map 中鍵的集合檢視,以便 map 修改也適用於該集合。在這裡,我們在一個 wrap 中形成一對來獲得一個鍵列表,如下所示。
語法:
List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
示例 3:
package maptolist;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapToListExample3
{
public static void main(String[] args)
{
//Define Map
Map<String, String> MAP2LIST = new HashMap<String, String>();
//Values (key as values)
MAP2LIST.put("1 + 1", "TWO");
MAP2LIST.put("10 - 5", "FIVE");
MAP2LIST.put("2.4 + 3.6", "SIX");
//Define list
List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
//foreach function extends setkey and prints the output
setkey.forEach(System.out::println);
List<String> setvalue = new ArrayList<String>(MAP2LIST.values());
setvalue.forEach(System.out::println);
}
}
輸出:
10 - 5
1 + 1
2.4 + 3.6
FIVE
TWO
SIX
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedIn相關文章 - Java List
- Java 中的整數列表
- Java 中的列表與陣列
- Java 中的陣列列表
- 在 Java 中按字母順序對列表進行排序
- 在 Java 中將列表轉換為 map
- 在 Java 中的氣泡排序演算法對手動連結串列進行排序