成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JDK5.0中一些collection類的使用詳解

開發(fā) 后端
JDK5.0中collection類的使用對于編程人員來說并不陌生,那么對于初學者掌握JDK5.0中一些collection類的使用是十分有用的,本文就向你介紹相關(guān)信息。

在JDK5.0中,collection最大的一個改變就是可以指定它的具體類型,具體有哪些呢,讓我們來看看:

List list=new List;

JDK5.0中collection兩個最基本的接口:

  1. public interface Collection  {     
  2. boolean add(E element);    
  3.  Iterator iterator();    
  4.  . . .     
  5. }     
  6. public interface Iterator   {     
  7.   E next();    
  8.  boolean hasNext();    
  9.  void remove();   } 

在JDK5.0以前,常用的形式就是:

  1. Collection c = . . .;    
  2.  Iterator iter = c.iterator();     
  3. while (iter.hasNext())   {     
  4. String element = iter.next();    
  5.  do something with element    
  6.  }  
  7.  
  8. 但是在5.0中加入另外一種循環(huán)方式,類似于for each:  
  9.  
  10. for (String element : c)   {   
  11.  do something with element    
  12.  } 

這種方式對任何實現(xiàn)了Iterable接口的類都適用。

在使用remove的時候特別要注意的一點是,在調(diào)用remove之前必須先調(diào)用一次next方法,因為next就像是在移動一個指針,remove刪掉的就是指針剛剛跳過去的東西。即使是你想連續(xù)刪掉兩個相鄰的東西,也必須在每次刪除之前調(diào)用next。

對collection排序和查找

JDK5.0中Collections類的sort方法可以對任何實現(xiàn)了List接口的類進行排序。在排序過程中,他默認這些類實現(xiàn)了Comparable接口,如果想用其他方法排序,可以在調(diào)用sort方法的時候提供一個Comparator對象:

  1. Comparator itemComparator = new   Comparator()   {   
  2.   public int compare(Item a, Item b)   {    
  3.   return a.partNumber - b.partNumber;    
  4.    }    
  5.  }; 

反向排序:

Collections.sort(items, itemComparator);

Collections.sort(items, Collections.reverseOrder(itemComparator));

查找一個對象:

i = Collections.binarySearch(c, element);  

i = Collections.binarySearch(c, element, comparator);

但是這些list必須是已經(jīng)排好序了。而且要注意的是這個算法需要隨機訪問collection,如果不支持隨機訪問那么這個算法的效率可能會很低。

JDK5.0中幾種常用Collection:

ArrayList

An indexed sequence that grows and shrinks dynamically

可以隨機訪問,但是如果要從中間刪除一個對象會影響效率,因為有些未刪除的對象要相應的調(diào)整位置。非線程安全,但效率會比Vector要高,如果在單線程下,選它而不是Vector。

LinkedList

An ordered sequence that allows efficient insertions and removal at any location

只能按順序訪問,添加刪除很方便。雖然提供了get(n)方法,但實際上還是順序訪問的,如果發(fā)現(xiàn)在LinkedList里面使用了這個方法,要考慮這個List類型是否選的合適

HashSet

An unordered collection that rejects duplicates

以hashcode為索引,適用于不知道所存對象位置而想尋找某個對象的情況。不可重復

TreeSet

A sorted set

與HashSet類似,但是所存對象是排了序的

LinkedHashSet

A set that remembers the order in which elements were inserted

PriorityQueue

A collection that allows efficient removal of the smallest element

加入Queue的時候會給與一個優(yōu)先級,從queue中取出的時候先取出優(yōu)先級最低的

HashMap

A data structure that stores key/value associations

存儲key/value對,非線程安全,與HashTable相比效率要高些

treeMap

A map in which the keys are sorted

排序的HashMap

LinkedHashMap

A map that remembers the order in which entries were added

那么JDK5.0中一些collection類的常見使用就是這些了,是不是對你了解JDK5.0中的collection類有幫助呢?
 

【編輯推薦】

  1. JDK的概念、組成及JDK常用包
  2. JDK1.4在Windows下的環(huán)境配置
  3. JDK1.6在LINUX下的安裝配置
  4. JDK日志框架之實例結(jié)合STAF淺析
  5. JDK日志分級作為核心API最佳實踐淺析
責任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-07-08 17:33:46

JDK5.0內(nèi)置工具

2009-07-09 11:02:37

JDK5.0內(nèi)置工具

2009-07-07 16:22:13

JDK5.0源代碼

2011-07-19 18:11:09

iPhone 開發(fā)

2011-06-16 14:28:08

Qt Symbian 文件

2018-09-11 16:15:36

Vue高版本前端

2011-06-24 14:46:23

Qt

2017-05-23 14:33:46

簡歷求職前端開發(fā)

2012-12-24 14:51:02

iOS

2022-05-24 12:50:58

Pandas索引代碼

2013-03-29 09:03:59

iOS實用小代碼iOS開發(fā)

2011-03-16 10:40:42

JavaEEJ2EE

2023-11-13 07:54:54

.NET Core開源框架

2014-08-08 09:14:43

Linux瀏覽器

2014-03-19 15:41:21

編程語言編程規(guī)則

2009-09-10 09:15:38

監(jiān)視程序死鎖

2016-11-16 21:18:42

android日志

2013-07-24 09:32:13

Android項目

2021-04-23 07:51:56

CSS Container Q Chrome

2010-03-25 13:59:52

Python API
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: av高清毛片 | 成人午夜影院 | www.天天操 | 91视频麻豆 | 精品国产精品国产偷麻豆 | 亚洲九色| 特级做a爰片毛片免费看108 | 久久久久资源 | 久久精品国产一区二区电影 | 九九热精品在线 | 在线观看中文字幕视频 | 国产精品大片在线观看 | www.久久久久久久久久久久 | 日韩av一区二区在线观看 | 丝袜一区二区三区 | 第四色播日韩第一页 | 91精品久久久久久久久久 | 一二三区在线 | 中文字幕国产第一页 | 国产视频一区二区三区四区五区 | 欧美一区二区三区 | 日韩一二三区视频 | 麻豆av网站 | 国产免费一区二区 | 日韩和的一区二在线 | 中文字幕精品一区二区三区精品 | 成人免费视频网 | 伊人伊人伊人 | 日韩精品一区二区三区视频播放 | 99精品网 | 在线观看成人 | 欧美精品二区 | 欧美日韩福利 | 亚洲欧美精| 91在线观看| 午夜精品一区二区三区在线视 | 国产视频久久久久 | 涩色视频在线观看 | 99久久免费精品国产男女高不卡 | 成人av一区二区在线观看 | 国产成人精品久久二区二区91 |