Iterasi daftar objek Hash Map menggunakan Java 8 Streams [ditutup]
Sep 20 2020
Saya harus mengulang daftar objek HashMap. jika nilai objek peta benar maka saya harus mengembalikan entri itu ke satu objek peta Hash menggunakan API aliran java 8
public class HashMapCheck {
static Map<String, Boolean> map;
static Map<String, Boolean> map2;
static List<Map> objMap;
public static void main(String args[]) {
map = new HashMap<String, Boolean>();
map.put("1", true);
map.put("2", false);
map2 = new HashMap<String, Boolean>();
map2.put("4", true);
map2.put("5", true);
objMap = new ArrayList<Map>();
objMap.add(map);
objMap.add(map2);
//Iterate
}
}
Jawaban
Steve Sep 20 2020 at 01:42
Saya bukan ahli dengan aliran Java, jadi mungkin ini bukan solusi minimal, tetapi inilah yang saya temukan dengan menggunakan aliran untuk mendapatkan apa yang menurut saya Anda inginkan:
public class HashMapCheck {
static Map<String, Boolean> map;
static Map<String, Boolean> map2;
static List<Map<String, Boolean>> objMap;
public static void main(String[] args) {
map = new HashMap<>();
map.put("1", true);
map.put("2", false);
map2 = new HashMap<>();
map2.put("4", true);
map2.put("5", true);
objMap = new ArrayList<>();
objMap.add(map);
objMap.add(map2);
Map<String, Boolean> result = objMap.stream().flatMap(x -> x.entrySet().stream()).filter(Map.Entry::getValue).
collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(result);
}
}
Hasil:
{1=true, 4=true, 5=true}
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'