Java 如何把TreeMap转换为ArrayList
将TreeMap转换为ArrayList的方法 :
- 有键和值的TreeMap可以被转换为两个键和值的ArrayLists。
- 另外,两个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 program to demonstrate conversion of
// TreeMap to ArrayList
import java.util.*;
class GFG {
// a class level treeMap object
static TreeMap<Integer, String> treeMap
= new TreeMap<Integer, String>();
// 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<Integer> keyList
= new ArrayList<Integer>(treeMap.keySet());
// Extract the values from the TreeMap
// using TreeMap.values() and
// assign them to valueList of type ArrayList
ArrayList<String> valueList
= new ArrayList<String>(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]
方法2:使用entrySet()方法
在下面的方法中,我们直接将整个TreeMap转换为ArrayList,将键和值都放在一起。为此,我们必须使用Entry对象。要使用这种方法,请导入java.util.Map.Entry.TreeMap包。
在这里,TreeMap中的键和值将直接被转换为ArrayList,每个索引的键和值将在ArrayList中显示为 “key=value”。
第1步:声明并添加TreeMap中的值。
第2步:调用函数convertMaptoList()。
第3步:在函数中用Entry对象声明ArrayList,并在ArrayList构造函数中指定TreeMap.entrySet()方法。它将把TreeMap的值转换为ArrayList。
第4步:打印转换后的ArrayList。
import java.util.*;
import java.util.Map.Entry;
public class GFG {
static TreeMap<Integer, String> treeMap
= new TreeMap<Integer, String>();
static void convertMapToList()
{
List<Entry> keyList
= new ArrayList<Entry>(treeMap.entrySet());
System.out.println("Tree Map to ArrayList :"
+ keyList);
}
public static void main(String[] args)
{
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}
Tree Map to ArrayList :[1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks]
方法3:使用addAll()
我们可以通过使用addAll()将TreeMap对象存储到列表中。为此,我们必须导入java.util.*包。在这个方法中,声明treemap_object.addAll(arraylist_object)。它将复制并存储整个入口集到列表中。
import java.util.*;
import java.util.Map.Entry;
public class GFG {
static TreeMap<Integer, String> treeMap
= new TreeMap<Integer, String>();
static void convertMapToList()
{
List<Entry> keyList=new ArrayList<>();
keyList.addAll(treeMap.entrySet());
System.out.println("Tree Map to ArrayList :"
+ keyList);
}
public static void main(String[] args)
{
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}
Tree Map to ArrayList :[1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks]