Re: [問題] 請問java有像asp的dictionary這樣的東西

看板java作者 (coolcomm)時間11年前 (2013/03/12 14:11), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串4/4 (看更多)
※ 引述《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

03/12 14:19, , 1F
java7 的才能省略 5~6都要乖乖的加到滿
03/12 14:19, 1F

03/12 14:43, , 2F
這網頁哪有把所有東西設static? 只有hash function吧
03/12 14:43, 2F
已修改。

03/12 15:06, , 3F
原來現在可以省略了啊.... 我都不知道....
03/12 15:06, 3F
※ 編輯: coolcomm 來自: 114.43.178.130 (03/12 15:13)

03/12 16:23, , 4F
雖然 Object 已經有 equals/hashcode 了
03/12 16:23, 4F
文章代碼(AID): #1HFiSUM4 (java)
討論串 (同標題文章)
文章代碼(AID): #1HFiSUM4 (java)