JAVA OOP 集合框架

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA OOP 集合框架相关的知识,希望对你有一定的参考价值。

1.Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

     数组和集合的主要的区别

2.(1)     数组可以存储基本数据类型和对象,而集合中只能存储对象(可以以包装类形式存储基本数据类型)。

(2)     数组的长度是固定的,集合长度是可以动态改变的

(3)     定义数组时必须指定数组元素类型,集合默认其中所有元素都是Object

(4)     无法直接获取数组数组实际存储的元素个数,length用来获取数组的长度,但可以通过size()直接获取集合实际存储的元素个数

(5)     集合有多种实现方式和不同的适用场合,而不像数组仅采用分配连续的空间方式

(6)     集合以接口和类的形式存在。具有封装,继承和多态等类的特性,通过简单的方法和属性调用即可实现各种复杂的操作,大大提高软件的开发效率。

 

  3、  最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。

 

第七章  集合框架
 
1.如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架
2.Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于Java.util包中
3.(1)接口
技术分享图片
  (2)具体类
  (3)算法:collection——提供对集合进行排序,遍历等多种算法实现
注:collection接口存储一组不唯一,无序的对象;
List接口存储一组唯一,有序(插入顺序)的对象;
Set接口存储一组唯一,无序的对象
4.(1)Map接口存储一组键值对象,提供key到value的映射 
   (2)ArrayList实现了长度可变的数值,在内存中分配连续的空间(遍历元素和随机访问元素的效率比较高)
5.List的常用方法
方法名 说明
boolean add(Object  o)

在列表的末尾顺序添加元素,

起始索引位置从0开始

voidadd(int index,Object o)

在指定的索引位置添加元素。

索引位置必须介于0和列表中元素个数之间

intsize()

返回列表中的元素个数

Objectget(intindex)

返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换

boolean contains(Object o)

判断列表中是否存在指定元素

boolean remove(Object o)

从列表中删除元素

Object  remove(int index)

从列表中删除指定位置元素,

起始索引位置从0开始

注:LinkedList提供对头部和尾部元素进行添加和删除操作的方法
6.LinkedList的特殊方法
方法名 说明

void  addFirst(Objecto)

在列表的首部添加元素

void  addLast(Objecto)

在列表的末尾添加元素

Object  getFirst()

返回列表中的第一个元素

Object  getLast()

返回列表中的最后一个元素

Object  removeFirst()

删除并返回列表中的第一个元素

Object  removeLast()

删除并返回列表中的最后一个元素

7.Map的常用方法
方法名 说明

Objectput(Object key, Object val)

以“键-值对”的方式进行存储

Objectget (Object key)

根据键返回相关联的值,如果不存在指定的键,返回null

Objectremove (Object key)

删除由指定的键映射的“键-值对”

intsize()

返回元素个数

SetkeySet ()

返回键的集合

Collectionvalues ()

返回值的集合

boolean  containsKey(Object key)

如果存在由指定的键映射的“键-值对”,返回true

8.集合类对比
(1)Vector和ArrayList的异同
 实现原理、功能相同,可以互用
 主要区别:?Vector线程安全,ArrayList重速度轻安全,线程非安全
?长度需增长时,Vector默认增长一倍,ArrayList增长50%
(2)Hashtable和HashMap的异同
 实现原理、功能相同,可以互用
 主要区别:?Hashtable继承Dictionary类,HashMap实现Map接口
?Hashtable线程安全,HashMap线程非安全
?Hashtable不允许null值,HashMap允许null值
9.迭代器Iterator
方法1:通过迭代器Iterator实现遍历 
  获取Iterator:Collection 接口的iterate()方法
 Iterator的方法
?booleanhasNext():判断是否存在另一个可访问的元素
?Object next(): 返回要访问的下一个元素
方法2:增强型for循环

for(元素类型t  元素变量x :数组或集合对象){

         引用了x的java语句

}

注:两者同样可以遍历其他集合类,通常使用增加for型循环

 

 

以上是关于JAVA OOP 集合框架的主要内容,如果未能解决你的问题,请参考以下文章

java关于集合框架,说法不正确的是( )

Java集合框架介绍

浅入深出之Java集合框架(上)

集合_java集合框架

浅入深出之Java集合框架(中)

浅入深出之Java集合框架(下)