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>
Algoritma ini menerangkan cara menukar
ke. ArrayList
HashMap
ArrayList
Langkah 11: Berikut adalah beberapa coretan kod sampel:
Coretan ini menunjukkan cara menukar
keArrayList<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); }
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
// 示例代码 (假设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));
.
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
// 示例代码 (假设ArrayList包含自定义对象,需要按类别分组) class Product { private String category; private String name; // ... getters and setters ... } // ... List<Product> products = new ArrayList<>(); // ... populate products list ... Map<String, List<Product>> productMap = products.stream() .collect(Collectors.groupingBy(Product::getCategory));
Atas ialah kandungan terperinci Tukar ArrayList ke HashMap di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!