Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menyimpan Berbilang Nilai setiap Kunci dalam HashMap?
HashMap untuk Menyimpan Berbilang Nilai setiap Kunci
HashMap ialah struktur data yang digunakan secara meluas yang memetakan kunci kepada nilai. Walau bagaimanapun, ia biasanya direka untuk menyimpan satu nilai bagi setiap kunci. Had ini mungkin tidak sentiasa sejajar dengan keperluan dunia sebenar, apabila timbul keperluan untuk menyimpan berbilang nilai di bawah kunci yang sama.
Pendekatan untuk Melaksanakan Pelbagai Nilai dalam HashMap
Jika keperluan adalah untuk menyimpan tepat dua nilai setiap kunci, beberapa pendekatan boleh dipertimbangkan:
Contoh Pelaksanaan
Menggunakan Senarai sebagai Nilai:
// Initialize the HashMap Map<String, List<Person>> peopleByForename = new HashMap<>(); // Populate the HashMap List<Person> people = new ArrayList<>(); people.add(new Person("Bob Smith")); people.add(new Person("Bob Jones")); peopleByForename.put("Bob", people); // Retrieve values List<Person> bobs = peopleByForename.get("Bob"); Person bob1 = bobs.get(0); Person bob2 = bobs.get(1);
Menggunakan Pembungkus Kelas:
// Define the wrapper class class Wrapper { private Person person1; private Person person2; public Wrapper(Person person1, Person person2) { this.person1 = person1; this.person2 = person2; } public Person getPerson1() { return person1; } public Person getPerson2() { return person2; } } // Initialize the HashMap Map<String, Wrapper> peopleByForename = new HashMap<>(); // Populate the HashMap peopleByForename.put("Bob", new Wrapper(new Person("Bob Smith"), new Person("Bob Jones"))); // Retrieve values Wrapper bobs = peopleByForename.get("Bob"); Person bob1 = bobs.getPerson1(); Person bob2 = bobs.getPerson2();
Menggunakan Kelas Tuple:
// Initialize the HashMap Map<String, Tuple2<Person, Person>> peopleByForename = new HashMap<>(); // Populate the HashMap peopleByForename.put("Bob", new Tuple2<>(new Person("Bob Smith"), new Person("Bob Jones"))); // Retrieve values Tuple2<Person, Person> bobs = peopleByForename.get("Bob"); Person bob1 = bobs.Item1; Person bob2 = bobs.Item2;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Berbilang Nilai setiap Kunci dalam HashMap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!