6.JAVA_SE複習(集合)

集合 html

結構圖: java

總結:ide

1.集合中的元素都是對象(注意不是基本數據類型),基本數據類型要放入集合須要裝箱。 函數

2.setlist的主要區別在於set中不容許重複,而list(序列)中能夠有重複對象。spa

3.TreeSet中能夠排序,HashSet是無序的;VectorArrayList都是能夠排序的code

List orm

1.arrayList.add(null);  列表中會有null        htm

2.list中:ArrayListVector都有一個缺點,就是當刪除或增長集合中的某一元素時,該元素後的下標會發生變化。爲解決這一缺陷,咱們用LinkedList,它的元素採用獨立的節點,每個節點中存放着指向下一個節點的引用。對象

 LinkedList的優缺點:優勢 - - - 有利於方便高效的進行插入和刪除操做。缺點 - - - 在進行隨機元素查詢時效率相對較低。blog

3.Vector相較於ArrayList,同步時開銷較大,訪問速度比ArrayList慢。

4.LinkedList中的方法只能取首位值,例如銀行排隊時適用該集合

5. Stack類:   表示後進先出(LIFO)的對象堆棧     Last in First out

                                        peek()   查看堆棧頂部的對象,但不從堆棧中移除它。

                                        E pop()  移除堆棧頂部的對象,並做爲此函數的值返回該對象。

                                        E push(E item)     把項壓入堆棧頂部

 

 

 

 

 

 

 

Pscompator排序:

範例1

ArrayList<Employee> emps = new ArrayList<Employee>();

       emps.add(new Employee("張三1", 21));

       emps.add(new Employee("張三2", 22));

       emps.add(new Employee("張三3", 23));

       Collections.sort(emps, new Comparator<Employee>() {

                                   @Override

                  public int compare(Employee o1, Employee o2) {

                            return o1.getAge() - o2.getAge();

                            }

                  });

範例2

Collections.sort(emps, new EmpCompartor());

另寫一個EmpCompartor()類:

public class EmpCompartor implements Comparator<Employee> {

    @Override

    public int compare(Employee o1, Employee o2) {

       return o1.getAge() - o2.getAge();

    }

}

Set

1.       Iterator<Integer> iterator = hashSet.iterator();

Iterator的幾個方法:

hasNext()
若是仍有元素能夠迭代,則返回 true

next()
返回迭代的下一個元素。

remove()
從迭代器指向的 collection 中移除迭代器返回的最後一個元素(可選操做)。

   2. comparable&   Comparator    都是用來實現集合中的排序的,只是Comparable是在集合內部定義的方法實現的排序,Comparator是在集合外部實現的排序,因此,如想實現排序,就須要在集合外定義Comparator接口的方法compare()或在集合內實現Comparable接口的方法compareTo()  
   

   3.排序的三種方法:

A.在須要排序的類的內部繼承Comparable接口而且在下面定義一個compareTo方法(其返回值類型是int,經過不一樣對象的減法獲值)

B.在構造一個TreeSetlist集合時,在構造器內new 一個比較器,而後在文件中建立該比較器,該比較器繼承Comparator接口,而且實現該接口中的compare方法,其返回值也爲int

C. 在構造一個TreeSetlist集合時,咱們使用匿名內部類,來實現Comparator接口中的compare方法,在構造時直接聲明。

4.HashMapHashTable

 a.HashTable是同步的,其餘的大體相同;

b.Hashtable 不容許 null (key value 都不能夠)HashMap 容許 null (key value 均可以)

c. 遍歷方式不一樣,Hashtable 使用EnumerationHashMap 使用Iterator

d. 哈希值的使用不一樣,Hashtable 直接使用對象的hashCode,而HashMap 從新計算hash 值,並且用與代替求模。

 

 

Ps: 1.鍵必須是惟一的,一個鍵不能對應兩個值。若是在映射表內對同一個鍵調用兩次put 方法,第二個值就會覆蓋第一個值。

2.刪除元素的時候,若是直接使用remove通常沒法刪除乾淨,一邊使用Iterator迭代刪除



相關文章
相關標籤/搜索