Rumah >Java >javaTutorial >Tukar ArrayList ke HashMap di Java
Antara muka
, yang mewakili set yang diperintahkan, yang membolehkan unsur -unsur pendua. List
adalah kelas pelaksanaan yang biasa digunakan untuk antara muka Collection
. ArrayList
adalah kelas dalam kerangka koleksi Java, yang digunakan untuk menyimpan pasangan nilai kunci. List
HashMap<k v></k>
Artikel ini akan memperkenalkan beberapa kaedah untuk menukar
: ArrayList
HashMap
ArrayList
Menggunakan Java 8 Stream Api Algoritma
<code>输入列表:[1="1", 2="2", 3="3"] 输出映射:{1=1, 2=2, 3=3} 输入列表:[1="Java", 2="for", 3="JavaScript"] 输出映射:{1=Java, 2=for, 3=JavaScript} 输入:Mercedes, Audi, BMW, Harley Davidson, Triumph 输出:{Car=[Mercedes, Audi, BMW], Bike=[Harley Davidson, Triumph]}</code>: Tukar arraylist ke hashmap
Algoritma ini menerangkan cara menukar
ke. ArrayList
HashMap
ArrayList
Langkah 11: Berikut adalah beberapa coretan kod sampel:
Coretan ini menunjukkan cara menukar
ke<code class="language-java">ArrayList<product> productList = new ArrayList<product>(); productList = getProducts(); Map<string product> urMap = yourList.stream().collect(Collectors.toMap(Product::getField1, Function.identity())); HashMap<string product> productMap = new HashMap<string product>(); for (Product product : productList) { productMap.put(product.getProductCode(), product); } for (Product p: productList) { s.put(p.getName(), p); } for(Product p : productList){ s.put(p.getProductCode() , p); }</string></string></string></product></product></code>.
ArrayList
HashMap
kaedah
kami akan memperkenalkan dua kaedah:
Kaedah 1: Gunakan lelaran dan
Kaedah ini melangkah secara langsung dan menambah setiap elemen ke Collectors.toMap()
.
ArrayList
Kaedah 2: Gunakan Java 8 Stream API dan HashMap
<code class="language-java">// 示例代码 (假设ArrayList包含自定义对象) class Color { private String name; private String code; // ... getters and setters ... } // ... List<color> colors = new ArrayList<>(); // ... populate colors list ... Map<string string> colorMap = colors.stream() .collect(Collectors.toMap(Color::getName, Color::getCode));</string></color></code>Jika anda perlu kumpulan, anda boleh menggunakan kaedah
.
Collectors.groupingBy()
Melalui kaedah di atas, anda boleh memilih kaedah yang sesuai untuk menukar
mengikut keperluan sebenar. Ingatlah untuk menangani kekunci pendua yang berpotensi, seperti menggunakan parameter ketiga Collectors.groupingBy()
untuk menentukan fungsi gabungan. Pilih
<code class="language-java">// 示例代码 (假设ArrayList包含自定义对象,需要按类别分组) class Product { private String category; private String name; // ... getters and setters ... } // ... List<product> products = new ArrayList<>(); // ... populate products list ... Map<string list>> productMap = products.stream() .collect(Collectors.groupingBy(Product::getCategory));</string></product></code>
Atas ialah kandungan terperinci Tukar ArrayList ke HashMap di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!