麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Thinking in java 集合容器

2019-11-14 08:58:32
字體:
來源:轉載
供稿:網友

1collection 與 collections 的去區別

java.util.Collection 是一個集合接口。它提供了對集合對象進行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實現。Collection接口的意義是為各種具體的集合提供了最大化的統一操作方式。

 Collection   ├List   │├LinkedList   │├ArrayList   │└Vector   │ └Stack   └Set 

java.util.Collections 是一個包裝類。它包含有各種有關集合操作的靜態多態方法。此類不能實例化,就像一個工具類,服務于Java的Collection框架。

例如:

Collection <Integer>  collection = new ArrayList<Integer>(ArrayList.asLIst(1,2,3,4));

collection.addAll(ArrayList.asLIst(3,5,8));

collections.addAll(collection,11,12);//將11 12 放到collection中

注意:Collections是Java集合容器的工具類,相比于(1),使用Collections的(2)更靈活。

2 集合中添加另一個集合的方法:

  collection.addAll();

 collectons.addAll(list,a,b);

3collection 用法

3.將其他類型集合轉換為List:

Arrays.asList(非List類型的集合對象/可變參數的對象);方法可以將傳遞的參數轉變為List集合。如:Arrays.asList(new Object1(),new Object2(),…);

Arrays和Collections類似,是Array數組類型集合的工具類。

注意:Arrays.asList()方法轉換后的List對象是一個size不能改變的對象,如果對該對象做增加或者刪除元素操作時,將會報不支持的操作異常。

5.LinkedList:

LinkedList除了實現了基本的List接口以外,還提供了一些特定的方法,使得LinkedList可以方便地實現Stack、Queue以及雙端Queue的功能。

LinkedList提供的非List接口方法:

(1).getFirst():獲取并且不移除LinkedList集合中第一個元素。如果集合為空,拋出NoSuchElementException異常。

(2).element():獲取并且不移除LinkedList集合中第一個元素。如果集合為空,拋出NoSuchElementException異常。

(3).peek():獲取并且不移除LinkedList集合中第一個元素。如果集合為空,則返回null。

(4).removeFirst():獲取并且移除LinkedList集合中第一個元素。如果集合為空,拋出NoSuchElementException異常。

(5).remove():獲取并且移除LinkedList集合中第一個元素。如果集合為空,拋出NoSuchElementException異常。

(6).poll():獲取并且移除LinkedList集合中第一個元素。如果集合為空,則返回null。

(7).addFirst():向LinkedList集合的頭部插入一個元素。

(8).add():向LinkedList集合的尾部插入一個元素。

(9).offer():向LinkedList集合的尾部插入一個元素。

(10).removeLast():獲取并且移除LinkedList集合中最后一個元素。如果集合為空,拋出NoSuchElementException異常。

6.Iterator:

Iterator迭代器在java集合容器中應用比較廣泛,對于List類型的集合,可以通過下標索引值獲取到指定的元素,而對于Set類型的集合,因為Set是沒有索引的,因此只能通過迭代器來遍歷。

Iterator迭代器是一個順序選擇和遍歷集合元素的對象,使用者不需要關心其底層的數據結構和實現方式。Java中的Iterator迭代器是單向的。

Iterator的常用方法如下:

(1).collection對象.iterator()方法:將集合對象轉換為Iterator迭代器。

(2).iterator對象.hasNext()方法:判斷迭代器中是否還有元素。

(3).iterator對象.next()方法:獲取迭代器中下一個元素。(4).iterator對象.remove()方法:刪除迭代器中當前元素。

注意:使用迭代器的好處是,當數據結構從List變為Set之后,迭代集合的相關代碼一點都不用改變。

7.ListIterator:

ListIterator是Iterator的子類,它只能有List類型的集合產生,ListIterator是一個雙向的迭代器,即它可以向前和向后雙向遍歷集合。ListIterator的常用方法如下:

(1).list類型對象.listIterator():將List類型的集合轉換為ListIterator迭代器。

(2).list類型對象.listIterator(int n):將List類型的集合轉換為ListIterator迭代器,同時指定迭代器的起始元素為第n個元素。

(3).listIterator對象.hasNext():判斷迭代器中是否還有下一個元素。

(4).listIterator對象.next():獲取迭代器中的下一個元素。

(5).listIterator對象.hasprevious():判斷迭代器中是否還有前一個元素。

(6).listIterator對象.PRevious():獲取迭代器中的前一個元素。

(7).listIterator對象.set(元素對象):將當前迭代到的元素設置為另一個值。

8.Map遍歷3中方法:Map<String, Object>map = new HashMap<String, Object>();map.put(“test1”, object1);……map.put(“testn” , objectn);(1).Map的values()方法可以獲取Map值的集合:[java] view plain copy    Iterator it = map.values().iterator();      while(it.hasNext()){          Object obj = it.next();      }  (2).Map的keySet方法可以獲取Map鍵的Set集合:[java] view plain copy    Set<String> keys = map.keySet();      for(Iterator it = key.iterator(); it.hasNext(); ){          String key = it.next();          Object obj = map.get(key);      }  (3).通過使用Entry來得到Map的key和value:[java] view plain copy    Set<Map.Entry<String, Object>> entrySet = map.entrySet();      for(Iterator <Map.Entry<String, Object>> it = entrySet.iterator(); it.hasNext(); ){          Map.Entry<String, Object> entry = it.next();          String key = entry.getKey();          Object value = entry.getValue();      }  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品99久久久久久大便 | 欧美一级小视频 | 色视频在线观看 | 久国产 | 黄色的视频免费观看 | 久久精品国产久精国产 | 爱爱视频天天干 | 视频一区二区三区在线播放 | 久久久久久久91 | 亚州欧美视频 | 欧美成人一区二区三区电影 | 免费观看黄色一级视频 | 999精品久久久 | 日本在线精品视频 | 欧美亚洲一级 | 爱性久久久久久久 | 羞羞视频一区 | 久久久婷婷一区二区三区不卡 | 亚洲人成网站免费播放 | 久久久久久久一区二区三区 | 久久久久久久久淑女av国产精品 | 青草av.久久免费一区 | 色淫网站免费视频 | 国产精品一区在线免费观看 | 爱视频福利 | av电影院在线观看 | 久久久噜噜噜久久熟有声小说 | 黄wwww| 毛片一级网站 | 久久草在线观看视频 | 国产精品免费久久久 | 91九色精品| 国av在线 | 久久久久久久亚洲视频 | 精品国产九九九 | xnxx 美女19| 在线观看国产免费视频 | 国产成年人在线观看 | 福利在线小视频 | 超碰97最新| 中文字幕伦乱 |