如何在Java中将 TreeMap 转换为 ArrayList?
TreeMap是Java Collection 框架的一部分。 Java TreeMap 包含基于键的值。它实现了 NavigableMap 接口并扩展了 AbstractMap 类。它提供了一种按排序顺序存储键值对的有效方法。 Java TreeMap 仅包含唯一元素。它不能有一个空键,但可以有多个空值。 TreeMap 不是同步的,我们必须显式同步它才能在多线程环境中使用它。 TreeMap 维护元素的升序。
将 TreeMap 转换为ArrayList的方法:
- 具有键和值的 TreeMap 可以转换为两个键和值的 ArrayList。
- 也有两个 ArrayLists,一个带键 另一个有值,可以转换成TreeMap。
例子:
TreeMap : {1=Welcome, 2=To, 3= Geeks, 4=For, 5=Geeks}
keyList : [1, 2, 3, 4, 5]
valueList : [Welcome, To, Geeks, For, Geeks]
方法:
- 创建一个 TreeMap 对象并插入一些键和值。
- 使用 TreeMap.keySet() 方法从 TreeMap 中提取键并将它们放入已创建用于存储键的 ArrayList 对象中。
- 使用 TreeMap.values() 方法从 TreeMap 中提取值并将它们放入另一个为存储值而创建的 ArrayList 对象中。
Java
// Java program to demonstrate conversion of
// TreeMap to ArrayList
import java.util.*;
class GFG {
// a class level treeMap object
static TreeMap treeMap
= new TreeMap();
// Method to convert TreeMap to ArrayList
static void convertMapToList()
{
// Extract the keys from the TreeMap
// using TreeMap.keySet() and
// assign them to keyList of type ArrayList
ArrayList keyList
= new ArrayList(treeMap.keySet());
// Extract the values from the TreeMap
// using TreeMap.values() and
// assign them to valueList of type ArrayList
ArrayList valueList
= new ArrayList(treeMap.values());
// printing the keyList
System.out.println(
"List of keys of the given Map : " + keyList);
// printing the valueList
System.out.println(
"List of values of the given Map : "
+ valueList);
}
// Driver Method
public static void main(String args[])
{
// inserting data into the TreeMap
// using TreeMap.put() method
treeMap.put(1, "Welcome");
treeMap.put(2, "To");
treeMap.put(3, "Geeks");
treeMap.put(4, "For");
treeMap.put(5, "Geeks");
// printing the TreeMap
System.out.println("The TreeMap is : " + treeMap);
// calling convertMapToList() method
convertMapToList();
}
}
输出
The TreeMap is : {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}
List of keys of the given Map : [1, 2, 3, 4, 5]
List of values of the given Map : [Welcome, To, Geeks, For, Geeks]