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

首頁 > 開發 > Java > 正文

Java Map 通過 key 或者 value 過濾的實例代碼

2024-07-14 08:41:23
字體:
來源:轉載
供稿:網友

今天寫根過濾的時候一下子有點愣眼,先是想到用 Java 原生的 map 循環查出來,但是覺得太 low, 后面思考了一下可以用 Java8 的 Lambda,寫完了,又發現 Google Guava 有現成的方法,這里一一列出來,供參考使用。

首先提示,如果照搬我的代碼的話別忘了引這些依賴

<dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>      <scope>test</scope>      <exclusions>        <exclusion>          <groupId>org.hamcrest</groupId>          <artifactId>hamcrest-core</artifactId>        </exclusion>      </exclusions>    </dependency>    <dependency>      <groupId>org.hamcrest</groupId>      <artifactId>hamcrest-library</artifactId>      <version>1.3</version>      <scope>test</scope>    </dependency>    <dependency>      <groupId>com.google.guava</groupId>      <artifactId>guava</artifactId>      <version>25.1-jre</version>    </dependency></dependencies>

filter by key

public class FilterMapByKeyTest {  private Map<Integer, String> WEEK = new HashMap<>();  @Before  public void setUp () {    WEEK.put(1, "Monday");    WEEK.put(2, "Tuesday");    WEEK.put(3, "Wednesday");    WEEK.put(4, "Thursday");    WEEK.put(5, "Friday");    WEEK.put(6, "Saturday");    WEEK.put(7, "Sunday");  }  /**   * Java 8之前的版本   */  @Test  public void filterMapByKey () {    Map<Integer, String> map = new HashMap<>();    for (Map.Entry<Integer, String> entry : WEEK.entrySet()) {      if (entry.getKey() <= 3) {        map.put(entry.getKey(), entry.getValue());      }    }    assertThat(map.keySet(), contains(1, 2, 3));  }  /**   * Java 8 Lambda   */  @Test  public void filterMapByKeyJava8Lambda () {    Map<Integer, String> map = WEEK.entrySet().stream().filter(r -> r.getKey() <= 3)            .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));    assertThat(map.keySet(), contains(1, 2, 3));  }  /**   * Google Guava   */  @Test  public void filterMapByKeyGuava () {    Map<Integer, String> map = Maps.filterKeys(WEEK, r -> r <= 3);    assertThat(map.keySet(), contains(1, 2, 3));  }}

filter by value

public class FilterMapByValueTest {  private Map<Integer, String> WEEK = new HashMap<>();  @Before  public void setUp () {    WEEK.put(1, "Monday");    WEEK.put(2, "Tuesday");    WEEK.put(3, "Wednesday");    WEEK.put(4, "Thursday");    WEEK.put(5, "Friday");    WEEK.put(6, "Saturday");    WEEK.put(7, "Sunday");  }  /**   * Java 8之前的版本   */  @Test  public void filterMapByValue () {    Map<Integer, String> map = new HashMap<>();    for (Map.Entry<Integer, String> entry : WEEK.entrySet()) {      if (entry.getValue().startsWith("S")) {        map.put(entry.getKey(), entry.getValue());      }    }    assertThat(map.values(), contains("Saturday","Sunday"));  }  /**   * Java 8 Lambda   */  @Test  public void filterMapByValueJava8Lambda () {    Map<Integer, String> map = WEEK.entrySet().stream().filter(r -> r.getValue().startsWith("S"))        .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));    assertThat(map.values(), contains("Saturday","Sunday"));  }  /**   * Google Guava   */  @Test  public void filterMapByValueGuava () {    Map<Integer, String> map = Maps.filterValues(WEEK, r -> r.startsWith("S"));    assertThat(map.values(), contains("Saturday","Sunday"));  }}

總結

以上所述是小編給大家介紹的Java Map 通過 key 或者 value 過濾的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www.亚洲成人| 日韩精品久久久久久福利| 成人精品在线视频| 91精品国产91久久| 欧美激情xxxxx| 亚洲黄色片网站| 成人美女免费网站视频| 国产精品视频在线播放| 国产成人亚洲综合91精品| 亚洲成人aaa| 成人免费网视频| 日韩av在线免费观看一区| 国产香蕉精品视频一区二区三区| 97久久精品在线| 国产精品美女免费| 亚洲精品女av网站| 成人免费福利在线| 欧美视频裸体精品| 中文字幕日韩电影| 美女久久久久久久久久久| 亚洲人av在线影院| 琪琪亚洲精品午夜在线| 91久久久久久久久| 九九久久综合网站| 久久精品在线视频| 国产精品www色诱视频| 久久久国产一区| 国产免费亚洲高清| 97超级碰碰碰久久久| 日韩在线视频中文字幕| 91免费在线视频网站| 日韩在线观看免费网站| 欧美日韩中文字幕在线| 久久成年人视频| 亚洲一级免费视频| 亚洲国产婷婷香蕉久久久久久| 26uuu亚洲伊人春色| 欧美午夜精品久久久久久浪潮| 国产mv免费观看入口亚洲| 亚洲精品小视频| 日韩精品电影网| 日本精品视频网站| 日韩欧美一区二区三区| 中文字幕亚洲激情| 亚洲精品永久免费| 国产精品视频一| 亚洲欧美中文日韩在线v日本| 亚洲国产精品女人久久久| 91久久精品在线| 亚洲精品乱码久久久久久按摩观| 亚洲午夜未删减在线观看| 亚洲国产成人一区| 久久国产精品久久久| 国产精品7m视频| 亚洲护士老师的毛茸茸最新章节| 国产视频亚洲精品| 国产成人免费av| 欧美视频一二三| 亚洲国产精品国自产拍av秋霞| 91亚洲va在线va天堂va国| 26uuu另类亚洲欧美日本一| 国产美女高潮久久白浆| 亚洲区在线播放| 亚洲第一福利网| 亚洲毛片在线看| 欧美一区二区三区四区在线| 午夜精品一区二区三区av| 欧美视频中文字幕在线| 色偷偷噜噜噜亚洲男人| 亚洲精品电影网| 亚洲成人aaa| 亚洲成人激情视频| 欧美野外猛男的大粗鳮| 国产精品狼人色视频一区| 亚洲国产高清自拍| 亚洲欧洲日产国产网站| 日韩av免费看网站| 中文字幕国内精品| 奇米四色中文综合久久| 午夜精品一区二区三区av| 国产午夜精品视频| 亚洲aaaaaa| 不卡伊人av在线播放| 日韩风俗一区 二区| 亚洲国产精品va在看黑人| 久久久噜噜噜久久中文字免| 疯狂欧美牲乱大交777| 欧美精品日韩三级| 欧美成人中文字幕在线| 91精品久久久久久久久青青| 国产精品三级久久久久久电影| 亚洲字幕一区二区| **欧美日韩vr在线| 日韩美女激情视频| 成人福利网站在线观看11| 欧美午夜宅男影院在线观看| 日韩欧美精品在线观看| 国产精品欧美一区二区三区奶水| 国产精品久久久久77777| 亚洲变态欧美另类捆绑| 国内揄拍国内精品少妇国语| 亚洲男人天天操| 久久精品视频va| 777777777亚洲妇女| 欧美另类极品videosbest最新版本| 亚洲色图美腿丝袜| 亚洲第一av网站| 国产成人97精品免费看片| 欧亚精品中文字幕| 日韩欧美在线视频| 中文字幕在线看视频国产欧美在线看完整| 欧美日韩亚洲精品一区二区三区| 国外成人性视频| 成人动漫网站在线观看| 欧美电影免费观看高清完整| 欧美激情亚洲国产| 色婷婷av一区二区三区久久| 亚洲福利小视频| 日韩经典第一页| 国产视频久久网| 国产精品高潮呻吟视频| 亚洲一区二区福利| 成人免费视频网| 中日韩午夜理伦电影免费| 欧美午夜xxx| 97精品在线观看| 狠狠综合久久av一区二区小说| 久久av红桃一区二区小说| 久久久久一本一区二区青青蜜月| 国产在线拍偷自揄拍精品| 91在线免费视频| 黑人精品xxx一区一二区| 狠狠色狠色综合曰曰| 国产精品wwwwww| 日韩在线观看免费全| 精品中文字幕久久久久久| 日韩精品免费综合视频在线播放| 91精品国产91久久久久久| 亚洲精品99久久久久| 日韩欧美亚洲国产一区| 美女福利精品视频| 日韩影视在线观看| 97视频在线观看视频免费视频| 国产成人一区二区三区小说| 欧美一级电影在线| 欧美电影在线观看网站| 国产在线拍偷自揄拍精品| 日韩中文字幕在线免费观看| 精品亚洲一区二区三区在线观看| 国产精品视频一区国模私拍| 北条麻妃一区二区在线观看| 国产精品久久91| 精品偷拍各种wc美女嘘嘘| 91国在线精品国内播放| 91亚洲国产成人久久精品网站| 日本亚洲精品在线观看| 久久视频在线直播| 日韩在线视频国产| 欧美亚洲成人xxx| 亚洲日本成人网| 精品av在线播放| 日韩中文字幕亚洲| 成人免费看吃奶视频网站| 欧美中文字幕在线播放|