亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用Maps

2019-11-18 13:22:33
字體:
來源:轉載
供稿:網友

  
使用Maps


  Map(接口) 維持“鍵-值”對應關系(對),以便通過一個鍵查找相應的值
  HashMap* 基于一個散列表實現(用它代替Hashtable)。針對“鍵-值”對的插入和檢索,這種形式具有最穩定的性能??赏ㄟ^構建器對這一性能進行調整,以便設置散列表的“能力”和“裝載因子”
  ArrayMap 由一個ArrayList后推得到的Map。對反復的順序提供了精確的控制。面向非常小的Map設計,非凡是那些需要經常創建和刪除的。對于非常小的Map,創建和反復所付出的代價要比HashMap低得多。但在Map變大以后,性能也會相應地大幅度降低
  TreeMap 在一個“紅-黑”樹的基礎上實現。查看鍵或者“鍵-值”對時,它們會按固定的順序排列(取決于Comparable或Comparator,稍后即會講到)。TreeMap最大的好處就是我們得到的是已排好序的結果。TreeMap是含有subMap()方法的唯一一種Map,利用它可以返回樹的一部分
  
  下例包含了兩套測試數據以及一個fill()方法,利用該方法可以用任何兩維數組(由Object構成)填充任何Map。這些工具也會在其他Map例子中用到。
  
  //: Map1.java
  // Things you can do with Maps
  package c08.newcollections;
  import java.util.*;
  
  public class Map1 {
   public final static String[][] testData1 = {
  { "Happy", "Cheerful disposition" },
  { "Sleepy", "PRefers dark, quiet places" },
  { "Grumpy", "Needs to work on attitude" },
  { "Doc", "Fantasizes about advanced degree"},
  { "Dopey", "'A' for effort" },
  { "Sneezy", "Struggles with allergies" },
  { "Bashful", "Needs self-esteem workshop"},
   };
   public final static String[][] testData2 = {
  { "Belligerent", "Disruptive influence" },
  { "Lazy", "Motivational problems" },
  { "Comatose", "Excellent behavior" }
   };
   public static Map fill(Map m, Object[][] o) {
  for(int i = 0; i < o.length; i++)
   m.put(o[i][0], o[i][1]);
  return m;
   }
   // ProdUCing a Set of the keys:
   public static void printKeys(Map m) {
  System.out.print("Size = " + m.size() +", ");
  System.out.print("Keys: ");
  Collection1.print(m.keySet());
   }
   // Producing a Collection of the values:
   public static void printValues(Map m) {
  System.out.print("Values: ");
  Collection1.print(m.values());
   }
   // Iterating through Map.Entry objects (pairs):
   public static void print(Map m) {
  Collection entries = m.entries();
  Iterator it = entries.iterator();
  while(it.hasNext()) {
   Map.Entry e = (Map.Entry)it.next();
   System.out.println("Key = " + e.getKey() +
    ", Value = " + e.getValue());
  }
   }
   public static void test(Map m) {
  fill(m, testData1);
  // Map has 'Set' behavior for keys:
  fill(m, testData1);
  printKeys(m);
  printValues(m);
  print(m);
  String key = testData1[4][0];
  String value = testData1[4][1];
  System.out.println("m.containsKey(/"" + key +
   "/"): " + m.containsKey(key));
  System.out.println("m.get(/"" + key + "/"): "
   + m.get(key));
  System.out.println("m.containsValue(/""
   + value + "/"): " +
   m.containsValue(value));
  Map m2 = fill(new TreeMap(), testData2);
  m.putAll(m2);
  printKeys(m);
  m.remove(testData2[0][0]);
  printKeys(m);
  m.clear();
  System.out.println("m.isEmpty(): "
   + m.isEmpty());
  fill(m, testData1);
  // Operations on the Set change the Map:
  m.keySet().removeAll(m.keySet());
  System.out.println("m.isEmpty(): "
   + m.isEmpty());
   }
   public static void main(String args[]) {
  System.out.println("Testing HashMap");
  test(new HashMap());
  System.out.println("Testing TreeMap");
  test(new TreeMap());
   }
  } ///:~
  
  printKeys(),printValues()以及print()方法并不只是有用的工具,它們也清楚地揭示了一個Map的Collection“景象”的產生過程。keySet()方法會產生一個Set,它由Map中的鍵后推得來。在這兒,它只被當作一個Collection對待。values()也得到了類似的對待,它的作用是產生一個List,其中包含了Map中的所有值(注重鍵必須是獨一無二的,而值可以有重復)。由于這些Collection是由Map后推得到的,所以一個Collection中的任何改變都會在相應的Map中反映出來。
  print()方法的作用是收集由entries產生的Iterator(反復器),并用它同時打印出每個“鍵-值”對的鍵和值。程序剩余的部分提供了每種Map操作的簡單示例,并對每種類型的Map進行了測試。
  當創建自己的類,將其作為Map中的一個鍵使用時,必須注重到和以前的Set相同的問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91香蕉嫩草神马影院在线观看| 亚洲自拍另类欧美丝袜| 亚洲综合自拍一区| 国产精品jizz在线观看麻豆| 日韩天堂在线视频| 久久色免费在线视频| 国产精品wwwwww| 久久夜色精品国产欧美乱| 91在线高清免费观看| 国产日韩在线播放| 国产成人亚洲综合91精品| 午夜精品三级视频福利| 国产精品免费一区二区三区都可以| 亚洲美女av在线| 亚洲精品久久久久中文字幕欢迎你| 一区二区欧美在线| 亚洲精品一区二区在线| 国产精品人成电影在线观看| 欧美性理论片在线观看片免费| 国产成人极品视频| 欧美孕妇性xx| 亚洲欧美福利视频| 欧美精品中文字幕一区| 亚洲欧美视频在线| 国产精品免费视频xxxx| 亚洲影院在线看| 97精品国产97久久久久久免费| 精品久久久久久久久久久久久久| 久久精品亚洲精品| 国产一区二区三区精品久久久| 欧美专区国产专区| 国产精品99久久99久久久二8| 欧美在线观看www| 亚洲国产另类 国产精品国产免费| 成人国产精品久久久| 久久综合国产精品台湾中文娱乐网| 色婷婷**av毛片一区| 欧美伊久线香蕉线新在线| 91久久久在线| 日韩久久免费视频| 欧美xxxx做受欧美| 亚洲一区二区久久| 久久91亚洲精品中文字幕| 国产网站欧美日韩免费精品在线观看| 亚洲自拍小视频免费观看| 狠狠色狠色综合曰曰| 久久久久久久久久久免费精品| 国产精彩精品视频| 欧美日韩免费在线观看| 26uuu亚洲伊人春色| 亚洲free性xxxx护士hd| 精品国产老师黑色丝袜高跟鞋| 一区三区二区视频| 国产日韩欧美日韩| 国产精品一区电影| 久久久精品电影| 国产精品丝袜久久久久久高清| 欧美大码xxxx| 国产日韩av高清| 日本人成精品视频在线| 久久久中文字幕| 亚洲bt天天射| 亚洲九九九在线观看| 91在线观看免费| 欧美激情在线有限公司| 久久中文字幕在线视频| 亚洲国产精品国自产拍av秋霞| 成人国产精品av| 久久久女女女女999久久| 亚洲成av人影院在线观看| 久久精品99无色码中文字幕| 亚洲天堂久久av| 亚洲色图五月天| 欧美成人免费一级人片100| 久久免费在线观看| 亚洲视频免费一区| 亚洲一区www| 国产精品久久久久久久久久久新郎| 热99精品里视频精品| 亚洲精品国精品久久99热一| 欧美日韩国产成人高清视频| 国产精品久久久久99| 一个人www欧美| 精品久久久久久中文字幕大豆网| 久久久久久久国产精品视频| 免费91麻豆精品国产自产在线观看| 米奇精品一区二区三区在线观看| 日韩欧美a级成人黄色| 日韩av影视综合网| 日韩国产欧美区| 91成人性视频| 亚洲欧美精品伊人久久| 深夜福利国产精品| 亚洲午夜av久久乱码| 国产精品91免费在线| 久久av资源网站| 91精品国产91久久久久久最新| 亚洲综合中文字幕在线观看| 一区二区亚洲欧洲国产日韩| 热99精品只有里视频精品| 亚洲欧美日韩国产成人| 日韩电视剧在线观看免费网站| 欧美综合在线第二页| 精品亚洲一区二区三区在线观看| 最近2019中文字幕mv免费看| 国产盗摄xxxx视频xxx69| 一区二区三欧美| 国产精品久久久久久五月尺| 日产精品久久久一区二区福利| 精品久久久久久久久久久久久久| 96国产粉嫩美女| 久久久国产91| 成人精品一区二区三区电影免费| 性金发美女69hd大尺寸| 日韩中文理论片| 97视频在线观看亚洲| 国产视频亚洲精品| 亚洲a在线观看| 亚洲精品一区中文字幕乱码| 在线观看视频亚洲| 亚洲国产精品高清久久久| 日韩中文第一页| 亚洲成人黄色网| 欧美性猛交xxxx免费看久久久| 91国内免费在线视频| 国产精品高潮呻吟视频| 成人久久久久爱| 91av在线视频观看| 国产精品嫩草影院一区二区| 秋霞av国产精品一区| 91精品国产综合久久久久久久久| 日韩欧美精品网址| 国产成人综合一区二区三区| 国产精品露脸av在线| 亚洲国产精品推荐| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲精品成人网| 精品一区精品二区| 亚洲欧美中文在线视频| 91爱视频在线| 国产精品亚洲美女av网站| 色哟哟入口国产精品| 国产一区二区三区三区在线观看| 久久全球大尺度高清视频| 欧美成人小视频| 日韩**中文字幕毛片| 欧美国产高跟鞋裸体秀xxxhd| 91免费在线视频网站| 51视频国产精品一区二区| 午夜精品一区二区三区在线| 91精品国产高清久久久久久| 成人激情视频免费在线| 日韩中文在线不卡| 51精品国产黑色丝袜高跟鞋| 88国产精品欧美一区二区三区| 2023亚洲男人天堂| 国产亚洲精品一区二区| 国产视频丨精品|在线观看| 日韩一区二区三区国产| 4444欧美成人kkkk| 最新国产精品拍自在线播放| 精品国产91久久久久久老师| 日韩精品高清在线| 国产精品极品美女在线观看免费|