十八、集合类
集合類
概念:提到集合不難想到數(shù)組,集合類與數(shù)組不同之處是,數(shù)組長(zhǎng)度是固定的,集合的長(zhǎng)度是固定的,集合的長(zhǎng)度是可變的;數(shù)組用來(lái)存放基本類型的數(shù)據(jù),集合用來(lái)存放對(duì)象的引用。
一、Collection接口
1.由于List接口與Set接口都繼承了Collection接口,所以以下方法對(duì)List集合與Set集合通用。
2.常用方法
Add(E e):將指定的對(duì)象添加到集合中
Remove(Object o):將指定的對(duì)象從該集合中移除
isEmpty():返回boolean值,用于判斷當(dāng)前集合是否為空
isterator():返回在此Collection的元素上進(jìn)行迭代的迭代器。用于遍歷集合中的對(duì)象。
size():返回int值,獲取該集合中元素的個(gè)數(shù)
eg:典型遍歷集合的方法
package Hcybx;import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class Demo {public static void main(String[] args) {Collection<String> list = new ArrayList<String>();//實(shí)例化集合類對(duì)象list.add("a");list.add("b");list.add("c");Iterator<String> it = list.iterator();//創(chuàng)建迭代器while (it.hasNext()) { //判斷是否有下一個(gè)元素String str = (String)it.next(); //獲取集合中元素System.out.println(str);}} }運(yùn)行結(jié)果:
二、List集合
List集合包括List接口以及List接口的所有實(shí)現(xiàn)類。List集合中的元素允許重復(fù),各元素的順序就是對(duì)象插入的順序。類似Java數(shù)組,用戶可以通過(guò)索引來(lái)訪問(wèn)集合中的元素。
1.List繼承了Collection中的所有方法。
get(int index):獲取指定索引位置的元素
set(int index,Object obj):將集合中指定索引位置的對(duì)象修改為指定的對(duì)象。
2.List接口的常用實(shí)現(xiàn)類
ArrayList:允許保存所有元素,包括null;缺點(diǎn):像指定索引位置插入對(duì)象或刪除對(duì)象速度較慢。
LinkedList:1.在像集合中插入、刪除對(duì)象時(shí),使用LinkedList類實(shí)現(xiàn)的List集合的效率高。
3.對(duì)于隨機(jī)訪問(wèn)集合中的對(duì)象,使用LinkeedList類實(shí)現(xiàn)List集合的效率較低。
三、Set集合
Set集合中的對(duì)象不按特點(diǎn)的方式排列,只是簡(jiǎn)單地把對(duì)象加入到集合中,但Set集合中不能包含重復(fù)對(duì)象。
1.Set接口常用實(shí)現(xiàn)類
HashSet:不保證順序恒久不變,允許使用null元素。
TreeSet:按照自然順序進(jìn)行遞增排序。也可以按照指定比較器遞增排序。
四、Map集合
Map集合沒有繼承Collection接口,其提供的是key到value的映射。
1.Map接口:提供將Key映射到值的對(duì)象。
2.Map接口中常用的方法
put(K key, V value) 向集合中添加指定的key與value的映射關(guān)系
containsKey(Object key) 如果此映射包含指定key的映射關(guān)系,則返回true
containsValue(Object value) 如果此映射將一個(gè)或多個(gè)Key映射到此值,則返回true
get(Object key) 如果存在指定的key對(duì)象,則返回該對(duì)象對(duì)應(yīng)的值,否則返回false
keySet() 返回該集合中所有Key對(duì)象形成的Set集合
values() 返回該集合中所有值對(duì)象形成的Collection集合
運(yùn)行結(jié)果:
3.Map接口實(shí)現(xiàn)類
HashMap: 添加和刪除映射關(guān)系效率高。
TreeMap:映射關(guān)系存在一定順序。
總結(jié)
- 上一篇: 阿斯利康新冠疫苗一种给药方案有效性达90
- 下一篇: 编写第一个 Arduino 程序