乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java集合之TreeSet

       印度阿三17 2019-12-09

      總結(jié)

      1. TreeSet 是 SortedSet 接口的實現(xiàn)類,TreeSet 可以確保集合元素處于排序狀態(tài)。
      2. TreeSet 支持兩種排序方法:自然排序和定制排序。默認(rèn)情況下,TreeSet 采用自然排序。

      自然排序

      排序:TreeSet 會調(diào)用集合元素的 compareTo(Object obj) 方法來比較元素之間的大小關(guān)系,然后將集合元素按升序排列
      如果 this > obj,返回正數(shù) 1
      如果 this < obj,返回負(fù)數(shù) -1
      如果 this = obj,返回 0 ,則認(rèn)為這兩個對象相等
      必須放入同樣類的對象.(默認(rèn)會進行排序) 否則可能會發(fā)生類型轉(zhuǎn)換異常.我們可以使用泛型來進行限制

      import java.util.Comparator;
      import java.util.Iterator;
      import java.util.Set;
      import java.util.TreeSet;
      
      public class Test {
          public static void main(String[] args) {
              Set<Integer> set = new TreeSet<Integer>();
              //添加元素
              set.add(10);
              set.add(4);
              set.add(99);
              set.add(66);
              //移除元素
              set.remove(1);
              //是否包含某種元素
              set.contains(99);
              //TreeSet自然排序
              System.out.println(set);
              
              //使用迭代器遍歷集合
              Iterator<Integer> st = set.iterator();
              while(st.hasNext()) {
                  System.out.println(st.next());
              }
              //使用for each迭代集合
              for(Integer i :set) {
                  System.out.println(i);
              }
      }

      定制排序

      如果需要實現(xiàn)定制排序,則需要在創(chuàng)建 TreeSet 集合對象時,提供一個 Comparator 接口的實現(xiàn)類對象。由該 Comparator 對象負(fù)責(zé)集合元素的排序邏輯

      import java.util.Comparator;
      import java.util.Iterator;
      import java.util.Set;
      import java.util.TreeSet;
      
      public class Test {
          public static void main(String[] args) {    
              /**
               * 定制排序
               * 如果需要實現(xiàn)定制排序,則需要在創(chuàng)建 TreeSet 集合對象時,
               * 提供一個 Comparator 接口的實現(xiàn)類對象。
               * 由該 Comparator 對象負(fù)責(zé)集合元素的排序邏輯
               */
              Person p5 = new Person(111,"李四");
              Person p1 = new Person(13,"張三");
              Person p2 = new Person(9,"王二");
              Person p3 = new Person(101,"李逵");
              Person p4 = new Person(111,"李某人");
              //創(chuàng)建一個person對象的泛型集合
              Set<Person> p = new TreeSet<Person>(new Person());
              //將對象加入集合
              p.add(p1);
              p.add(p2);
              p.add(p3);
              p.add(p4);
              p.add(p5);
              //for each遍歷集合
              for(Person set1:p) {
                  System.out.println(set1.age "    " set1.name);
              }
              
          }
      }
      //實現(xiàn)Comparator接口
      class Person implements Comparator<Person>{
          int age;
          String name;
          //定義一個無參構(gòu)造和有參構(gòu)造
          Person() {}
          Person(int age,String name){
              this.name = name;
              this.age = age;
          }
      //重寫compare方法,自定義排序方式
          @Override
          public int compare(Person o1, Person o2) {
              if(o1.age>o2.age) {
                  return 1;
              }else if(o1.age<o2.age) {
                  return -1;
              }
              return 0;
          }}
      
      來源:https://www./content-1-591701.html

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多