(本当にシンプルで明確)Javaコレクションの一般的なメソッド

//この記事は、コレクションをより深く理解している学生には意味がありません。
一般的なコレクションフレームワークシステムは、図に示すとおりです。
ここに画像の説明を挿入
関連する注記:
E-Element(コレクションには要素が含まれているため、コレクションで使用されます)
T-Type( Javaクラス)
K-Key(キー)
V-Value(値)
N-Number(数値タイプ)

*コレクションインターフェイス:

public boolean add(E e);  //添加元素到集合
public boolean addAll(Collection<? extends E> c); //存放一个集合
public boolean contains(Object o);  //查找集合中的元素
public boolean isEmpty();  //判断一个集合是否为空
public boolean remove(Object 0);//删除一个集合中的元素
public int size();//返回集合的长度
public void clear();//清空所有元素
public boolean equals(Object o);//判断是否相等


*リストインターフェイス(コレクションインターフェイスのメソッドを含む):

 public E get(int index); //根据索引取得元素
 public E set(int index,E element);//替换元素,index为要替换元素下标 element为要替换元素
 public ListIterator<E> listIterator() List //List自己的迭代器

*キューインターフェイス(コレクションインターフェイスのメソッドを含む)

boolean offer(E e);//区别于add ,它的返回值是boolean类型,如果添加未成功add是报错,它是返回false
//E代表的是元素的类型
E poll();//返回首个元素并从队列中弹出,如果队列是空的,就返回null
E peek();//返回首个元素,不会移除首个元素,如果队列是空的就返回null
E element();//返回首个元素,不会移除首个元素,如果队列是空的就抛出异常NoSuchElementException

* Setインターフェイス(Collectionインターフェイスのメソッドを含む):
SetのインターフェイスはCollectionとまったく同じですが、動作が異なります。Setは重複する要素を格納しません(具体的には実装クラスHashSetで説明されています)。

*マップインターフェイスマップインターフェイス
のコレクションはコレクションとは異なります。コレクション内のコレクションは、要素が分離して存在し(シングルトンと見なすことができます)、コレクションに格納されている要素は要素ごとに格納されます。マナー。マップの要素はペアで存在し(夫と妻を理解します)、各要素はキーと値の2つの部分で構成され、対応する値はキーから見つけることができます。ここでは、キーを正直なパーティーとして理解できます。これは1つの値にのみ対応でき(たとえば、良いガールフレンドは1人のボーイフレンドにしか対応できません)、値は非教師のパーティーです(スカムバッグは多くのガールフレンドに対応できます)。 )


int size();//返回有多少对元素
boolean isEmpty();
boolean containsKey(Object xx);//查询集合中是否包含以xx作为键的元素
boolean containsValue(Object xx);//查询集合中是否包含以xx作为值的元素
V get(Object key);//返回key所对应的值
V put(K key, V value);//向map集合中添加Key为key,Value为value的元素,当添加成功时返回null,否则返回value。
V remove(Object key);//删除Key为key值的元素。
void clear();
void putAll(Map<? extends K,? extends V> m)//向map中添加指定集合的所有元素
Set<Map.Entry<K,V>> entrySet()//返回map到一个set集合中
			int u=1;
			String j="杨帆";	 
			Map i =new HashMap();
			i.put(u, j);
			Set xx=i.entrySet();
			System.out.println(xx);
			//此时输出结果为[1=杨帆]
boolean equals(Object o)//判断集合元素是否相等
Set<K> keySet()//返回map集合中所有的键
			int u=1;
			String j="杨帆";	 
			int qq=2;
			String zz="女朋友";
			Map i =new HashMap();
			i.put(u, j);
			i.put(qq, zz);
			Set xx=i.keySet();
			System.out.println(xx);	
			//此时输出结果为[1, 2]
Collection<V> values()//返回map集合中所有的Value到一个Collection集合			
				
		
 

ArrayList
は、配列のアップグレードバージョンと見なすことができ、配列サイズに基づいてリストされた方法のいくつかを追加し、その容量は動的であり
、Listインターフェイスから継承されるため、効率的なメモリ使用率には自然なメソッドのリストが含まれますが、説明しますもっと

public void trimToSize()//我们知道ArrayList 的 容量会随着已用容量的增大而增大,并且一直大于已用容量,这个方法就是根据已用容量消减总容量
public void ensureCapacity(int minCapacity)//预设容量,顾名思义,根据要装东西的容量事先设置好容量,提供内存利用率
public int indexOf(Object o)//找到o元素最早出现位置,如果不存在返回-1
public int lastIndexOf(Object o)//找到o元素最后出现位置,如果不存在返回-1
public Object[] toArray()//将Arraylist转化为一个数组

Linkedlist
LinkedListは、Listインターフェイスの実装クラスでもあり、リンクリストストレージメソッドを使用します(ArrayListは線形リストです)。リンクリストは、削除と変更において線形リストよりもはるかに効率的ですが、線形リストはクエリにおいてはるかに効率的です。 、必要に応じて適切なものを選択してください。保存方法
上記の構造図に示すように、リストまたはキューから継承でき、必要に応じて誰を継承するかを選択できます。

public void addFirst(E e)//队头加
public void addLast(E e)//队尾加
public E getFirst()//返回队首
public E getLast()//返回队尾
public E removeFirst()//返回队首的同时移除队首
public E removeLast()
public E peekFirst() //与peek功能相同
public E peekLast() 
public E pollFirst()//返回并且弹出队首
public E pollLast()
public void push(E e)//队首添加,add和offer都是队尾添加
public E pop()//弹出队首
public boolean removeFirstOccurrence(Object o)//功能与remove相同
public boolean removeLastOccurrence(Object o)//remove是从队头开始找,此函数是从队尾


なぜハッシュマップのHashSetのは、ハッシュマップに基づいて実装されているので、それは地図の言い訳を継承しているため、名前が示すように、自然に、彼の方法、ハッシュマップを含み、?最初のハッシュマップについての話をする形でデータを格納するためにあるハッシュテーブルであり、ハッシュ関数であるため、ハッシュテーブル。存在、クエリ、および変更の効率が非常に高い(ハッシュの競合を考慮しない)。

 public V getOrDefault(Object key, V defaultValue) //如果key在键中存在就返回key的值,不存在返回defaultValue
 public V putIfAbsent(K key, V value) //如果key在键中存在,就返回key对应的值,不存在就添加key-value
 public boolean replace(K key, V oldValue, V newValue) //取代某个键的值
 public V replace(K key, V value)//在指定的键已经存在并且有与之相关的映射值时才会将指定的键映射到指定的值(新值), 在指定的键不存在时,方法会return回来一个null 

Hashset
のソースコードはハッシュマップに基づいて実装されているため、ハッシュマップが前面に配置されます。ハッシュマップはsetインターフェイスから継承されるため、対応するメソッドがあります。
セットの特性を継続し、要素を繰り返すことはできません。もう1つは、挿入順序を維持せず、null要素を含めることができるということですが、最大で1つです。ハッシュセットの一般的な方法は、基本的に継承とセットです。あまり使われていません。

おすすめ

転載: blog.csdn.net/jahup/article/details/105894940