Java連載90-Sorted、Map講解

1、java

1.讓SortedSet集合作到排序還有另外一種方式:java.util.Comparator;node

2.單獨編寫一個比較器git

 

package com.bjpowernode.java_learning;

import java.util.*;

​

public class D90_1_SortedSet {

  public static void main(String[] args) {

     //建立TreeSet集合的時候提供一個比較器

    SortedSet products = new TreeSet(new ProductComparator());

    Product90 p1 = new Product90(3.4);

    Product90 p2 = new Product90(4.0);

    Product90 p3 = new Product90(3.0);

    Product90 p4 = new Product90(2.0);

    Product90 p5 = new Product90(5.0);

    //添加元素

    products.add(p1);

    products.add(p2);

    products.add(p3);

    products.add(p4);

    products.add(p5);

    //遍歷

    Iterator i = products.iterator();

    while(i.hasNext()) {

      System.out.println(i.next());

    }

   

   

  }

}

class Product90 {

  double price;

  Product90(double price){

    this.price = price;

   

  }

  public String toString() {

    return price+"";

   

  }

}

class ProductComparator implements Comparator{

  public int compare(Object o1,Object o2) {

    double price1 = ((Product90)o1).price;

    double price2 = ((Product90)o2).price;

    if(price1==price2) {

      return 0;

    }else if (price1<price2) {

      return -1;

    }else {

      return 1;

    }

  }

}

 

 

​總結:使用這種單獨實現比較器的方法,由於這樣符合​高內聚低耦合的原則,代碼複用性更強。github

2、Comparable和Comparator的區別微信

見兩次連載的代碼,推薦使用Comparator學習

3、Map大數據

 

package com.bjpowernode.java_learning;

import java.util.*;

​

public class D90_2_MapUsualMethod {

  public static void main(String[] args) {

    /**

     * 關於Map集合中的經常使用方法

     */

    //void clear();清空Map

    //boolean containsKey(Object key);判斷Map中是否包含這樣的key

   

    //boolean containsValue(Object value);判斷Map中是否包含這樣的value

   

    //Set<Map.Entry<K,V>> entrySet();返回此映射中包含的映射關係的Set視圖

   

    //Object get(Object key);經過key獲取value;

   

    //Object put(Object key,Object value);向集合中添加鍵值對

   

    //boolean isEmpty(); 判斷該集合是否爲空

   

    //Object remove(Object key);經過key將鍵值對刪除

   

    //int size();獲取Map中鍵值對的個數

   

    //Set keySet();獲取Map中全部的鍵值對

   

    //Collection values();獲取Map集合中全部的value

   

    //1.建立Map集合

    Map persons = new HashMap();//HashMap的默認初始化容量爲16,默認加載因子時0.75

    //2.存儲鍵值對

    persons.put("10000","JACK");

    persons.put("10001","ZHANGXINLEI");

    persons.put("10002","YAOKUN");

    persons.put("10003","ZHAOZEKUN");

    persons.put("10004","LIDUO");

    persons.put("10005","DIAOBI");

    //3.判讀鍵值對的個數

    //Map中的key是無序不可重複的,和HashSet相同

    System.out.println(persons.size());

   

    //4.判斷集合中是否包含這樣的key

    System.out.println(persons.containsKey("10000"));

   

    //5.判斷集合中是否包含這樣的value

    System.out.println(persons.containsValue("ZHANGXINLEI"));

 

  }

}

 

4、源碼:ui

D90_1_SortedSet.javathis

D90_2_MapUsualMethod.javaspa

https://github.com/ruigege66/Java/blob/master/D90_1_SortedSet.java

https://github.com/ruigege66/Java/blob/master/D90_2_MapUsualMethod.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料

 

相關文章
相關標籤/搜索