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

介紹Java集合類(Collections)

開發 后端
本文介紹了java.util下的接口Collection和集合類Collections的相關知識,供大家參考。

在介紹Java集合類之前,首先介紹一下Java集合的概念。

Java集合Collection接口

Collection 是任何對象組,元素各自獨立,通常擁有相同的套用規則。Set List由它派生。

基本操作:

增加元素add(Object obj); addAll(Collection c);

刪除元素 remove(Object obj); removeAll(Collection c);

求交集 retainAll(Collection c);

刪除元素 remove(Object obj); removeAll(Collection c);

求交集 retainAll(Collection c);

訪問/遍歷集合元素的好辦法是使用Iterator接口(迭代器用于取代Enumeration)

  1. Public interface Iterator{  
  2.  
  3.     Public Boolean hasNext(};  
  4.  
  5.      Public Object next(};  
  6.  
  7.      Public void remove(};  
  8.  

一、set

無重復、無序

HashSet-基于散列表的集,加進散列表的元素要實現hashCode()方法以判斷是否為同一個對象,無順序、無重復。

LinkedHashSet-在HashSet中加入了鏈表數據結構,有順序

TreeSet-可以排序,需要實現Comparable接口,并實現其compareTo()方法,以排序。

二、List

有重復、有序

ArrayList(數組表)- 有重復、有順序。類似于Vector,都用于縮放數組維護集合。區別:

1.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的

2.數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半

LinkedList(鏈表)-是雙向鏈表,適合變更很多的List。

用在FIFO,用addList()加入元素 removeFirst()刪除元素

用在FILO,用addFirst()/removeLast()

ListIterator提供雙向遍歷next() previous(),可刪除、替換、增加元素

三、Map

用于關鍵字/數值對,較高的存取性能。不允許重復的key,但允許重復的Value。

處理Map的三種集合

關鍵字集KeySet() 數值集value()   項目集enrySet()

四個具體版本

HashMap-散列表的通用映射表,無序,可在初始化時設定其大小,自動增長。

LinkedHashMap-擴展HashMap,對返回集合迭代時,維護插入順序

WeakHashMap-基于弱引用散列表的映射表,如果不保持映射表外的關鍵字的引用,則內存回收程序會回收它

TreeMap-基于平衡樹的映射表 

四、Java集合類collections

用于同步集合,還能改變集合只讀方式的類

e.g.:

  1. Map mp=new HashMap();  
  2.  
  3. mp=Collections.synchronizedMap(mp); //生成線程安全的映射表  
  4.  
  5. mp=Collections.unmodifiableMap(mp); //生成只讀映射表 

五、Comparable 自然順序的排序類 Comparator 面向樹的集合排序類

六、Vector類

Vector,可以動態增加容量。對它的操作簡要如下

七、Enumeration接口 

八、Dictionary類

字典。關鍵字/數值方式存取數據,如果映射沒有此關鍵字,取回null。

九、Hashtable類

Dictionary結構的具體實現。 

1、Collection 和 Collections的區別。

Collections是個java.util下的類,它包含有各種有關java集合操作的靜態方法。 

Collection是個java.util下的接口,它是各種java集合結構的父接口

2、List, Set, Map是否繼承自Collection接口? List,Set是 Map不是

3、ArrayList和Vector的區別。

(1).同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的

(2).數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半

4、HashMap和Hashtable的區別

(1).歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現

(2).同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的

(3).值:只有HashMap可以讓你將空值作為一個表的條目的key或value

Java集合類的相關內容就介紹到這里。

【編輯推薦】

  1. 多核時代考驗Java代碼編寫習慣
  2. JSR通過JavaEE 6依賴注入標準 各方觀點不一
  3. Sun發布JDK 7早期預覽版 JVM性能大幅提升
  4. 來自一年前的預測:Java平臺與死亡相去甚遠
  5. Java新型垃圾回收器G1深入探索
責任編輯:book05 來源: 新浪博客
相關推薦

2009-05-08 09:46:37

微軟C#集合對象

2011-07-11 11:02:12

JAVA集合框架

2024-11-08 16:54:38

2021-08-16 09:35:34

Collections Java開發

2025-02-10 07:40:00

Java集合工具類編程

2012-05-02 10:47:51

JavaJava集合框架

2009-12-21 15:58:19

ADO.NET集合

2009-10-20 09:39:04

VB.NET Butt

2010-03-16 14:58:15

Java類加載器

2012-03-19 09:57:09

JavaArrayList

2009-10-27 14:50:25

VB.NET控件數組

2019-05-07 11:02:55

Java開發代碼

2009-09-15 13:20:34

LINQ DataCo

2009-08-12 09:41:28

C# Director

2009-09-03 15:57:11

C# SystemMe

2010-02-24 17:47:05

WCF集合類型

2011-07-12 10:43:20

JAVA類加載

2024-02-23 10:10:00

List接口Java

2011-07-12 10:24:17

類加載反射

2009-09-25 17:19:28

Hibernate持久
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 丁香久久 | 成人h视频 | 成人午夜精品 | 久久国产精品一区二区三区 | 欧美一区二区成人 | 亚洲成人免费视频在线观看 | 在线观看一区 | 亚洲区视频 | 大吊一区二区 | www.99热这里只有精品 | 成人午夜影院 | 久久精品日产第一区二区三区 | 国产一区二区三区 | 亚洲成av人片在线观看 | 国产日韩欧美在线一区 | 国产精品视频网 | 国产综合在线视频 | 成人免费视频在线观看 | 国产1区2区 | 在线视频国产一区 | 五月花丁香婷婷 | www国产成人免费观看视频,深夜成人网 | 在线只有精品 | www.国产91| 色婷婷久久久久swag精品 | 天天看天天爽 | 91麻豆精品国产91久久久更新资源速度超快 | 国产亚洲精品久久久久久豆腐 | 国产成人综合亚洲欧美94在线 | 91亚洲欧美 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 国产高清不卡 | 国产日韩欧美激情 | 国产偷录叫床高潮录音 | 日韩视频在线免费观看 | 色婷婷精品国产一区二区三区 | 欧美伦理一区 | 亚洲一区二区网站 | 亚洲人成免费 | 久久精品免费 | 久久99久久久久 |