看板 java 關於我們 聯絡資訊
※ 引述《smsim (crazyM)》之銘言: : 再次謝謝PsMonkey的回覆. : 我有找到一個範例 : http://inonat.blogspot.tw/2011/04/java-hashmap.html : 但有個問題, 範例 HashMap < Name, LinkedList < NameDistancePair > > 裡, : 沒有教怎麼讀出資料, 請問該怎麼讀出資料呢? : 這裡put資料的語法 : HashMap<Name, LinkedList<NameDistanePair>> test=new HashMap(11); : LinkedList cs=new LinkedList<NameDistanePair>(); : cs.add(new NameDistanePair("LS",7)); : cs.add(new NameDistanePair("CL",20)); : test.put(new Name("CS"),cs); : 該怎麼get 呢? : 請大大解惑~~萬分感激 你給的那個網頁把hash的實作設成static了 這根本不是題目的原意... -- public class Vertex { private String name; Vertex() {} public Vertex(String name) { this.name = name; } public String getName() { return name; } @Override public int hashCode() { // 省略 ... 但這才是最重要的部分 } @Override public boolean equals(Object that) { // 省略 ... } } public class Edge { private Vertex dest; private int length; // 省略 ... 同樣要override hashCode和equals } // 接著再用Map<Vertex, HashSet<Edge>>把所有物件放進去就好了 -- 另外 在宣告帶有泛型的物件時 左邊和右邊都要有泛型型態 Map<Vertex, HashSet<Edge>> map = new HashMap<Vertex, HashSet<Edge>>(); 但constuctor的確實型態可省略 只需寫一對角括弧 Map<Vertex, HashSet<Edge>> map = new HashMap<>(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.178.130
abola921:java7 的才能省略 5~6都要乖乖的加到滿 03/12 14:19
ssccg:這網頁哪有把所有東西設static? 只有hash function吧 03/12 14:43
已修改。
LaPass:原來現在可以省略了啊.... 我都不知道.... 03/12 15:06
※ 編輯: coolcomm 來自: 114.43.178.130 (03/12 15:13)
pcyu16:雖然 Object 已經有 equals/hashcode 了 03/12 16:23