溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java集合類之組織結(jié)構(gòu)和繼承、實(shí)現(xiàn)關(guān)系的示例分析

發(fā)布時(shí)間:2021-07-28 09:49:13 來源:億速云 閱讀:124 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Java集合類之組織結(jié)構(gòu)和繼承、實(shí)現(xiàn)關(guān)系的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java集合類之組織結(jié)構(gòu)和繼承、實(shí)現(xiàn)關(guān)系的示例分析”這篇文章吧。

Collection繼承、實(shí)現(xiàn)關(guān)系如下(說明(I)表示接口, (C)表示Java類,<--表示繼承,<<——表示實(shí)現(xiàn)):

(I)Iterable

          |<-- (I)Collection

                            |<-- (I)List

                                         |<<—— (C)ArrayList

                                         |<<—— (C)LinkedList

                                         |<<—— (C)Vector

                            |<-- (I)Set

                                         |<<—— (C)HashSet

                            |<-- (I)Queue [kju]

Map繼承、實(shí)現(xiàn)關(guān)系如下

Map

     |<<—— (C)HashMap

     |<<—— (C)HashTable

Iterable:

package java.lang;
import java.util.Iterator;
public interface Iterable<T> {
  Iterator<T> iterator();
}

Iterator:

package java.util;
public interface Iterator<E> {
  boolean hasNext();
  E next();
  void remove();
}

Collection:

package java.util;
public interface Collection<E> extends Iterable<E> {
  int size();
  boolean isEmpty();
  boolean contains(Object o);
  Iterator<E> iterator();
  Object[] toArray();
  <T> T[] toArray(T[] a);
  boolean add(E e);
  boolean remove(Object o);
  boolean containsAll(Collection<?> c);
  boolean addAll(Collection<? extends E> c);
  boolean removeAll(Collection<?> c);
  boolean retainAll(Collection<?> c);
  void clear();
  boolean equals(Object o);
  int hashCode();
}

 Map:

package java.util;
public interface Map<K,V> {  
  int size();
  boolean isEmpty();
  boolean containsKey(Object key);
  boolean containsValue(Object value); 
  V get(Object key); 
  V put(K key, V value); 
  V remove(Object key);
  void putAll(Map<? extends K, ? extends V> m);
  void clear();
  Set<K> keySet();
  Collection<V> values();
  Set<Map.Entry<K, V>> entrySet();
  interface Entry<K,V> {
    K getKey();
    V getValue();
    V setValue(V value);
    boolean equals(Object o);
    int hashCode();
  }
  boolean equals(Object o);
  int hashCode();
}

1、Collection和Map的區(qū)別

Collection和Map最大的區(qū)別就是Collection存儲(chǔ)的是一組對(duì)象;Map是以“鍵值對(duì)”的形式對(duì)對(duì)象進(jìn)行的管理。

2、Iterable和Iterator

    Iterator是迭代器,Iterable是接口。很多類,像List、Set、HashMap不直接實(shí)現(xiàn)迭代器接口Iterator,而是去實(shí)現(xiàn)Iterable接口,是因?yàn)椋?/p>

    Iterator的方法next()和hasNext()是依賴當(dāng)前迭代位置的,直接實(shí)現(xiàn)Iterator,集合在不同方法間傳遞時(shí),會(huì)包含一個(gè)當(dāng)前迭代位置的指針;

    而Iterable每次調(diào)用都會(huì)返回一個(gè)從頭開始計(jì)數(shù)的迭代器。

3、Collection和Collections的區(qū)別

    Collection是一個(gè)集合接口。它提供了對(duì)集合對(duì)象進(jìn)行進(jìn)本操作的通用接口方法。

    Collections是一個(gè)工具類。內(nèi)有多個(gè)對(duì)集合對(duì)象進(jìn)行操作的靜態(tài)方法,不能實(shí)例化。

以上是“Java集合類之組織結(jié)構(gòu)和繼承、實(shí)現(xiàn)關(guān)系的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI