面向对象(5)集合框架

① 请说出数组这种数据结构的缺陷?

数组:(相同数据类型、连续分配空间)

(1)、数组的长度是固定的(不够,或者出现浪费的情况)

(2)、不能动态获取实际使用长度

(3)、内存空间是连续的

(4)、大批量的数据操作造成性能下降

② 请说出JAVA集合框架的相关内容?

(集合存储的是引用类型数据,可以是封装类型哦)

(1)、Java集合体系的逻辑包 rt.jar=======>>> java.util.*===========>>>各种类

 

面向对象(5)集合框架

 

A:Collection接口存储组不唯一,无序的对象

B:List接口存储一组不唯一,有序的对象

C:Set接口存储一组唯一,无序的对象

D:Map接口存储一组键值对,提供key(唯一的、无序的)到value(不唯一、无序的)的映射

③ 请说出List接口的常用实现类及其常用方法?

(1)、List接口常用的实现类:ArrayList(在实际开发经常使用)

int size(获取集合长度)

boolean isEmpty(判断是否集合为空)

boolean contains( Object obj)(判断集合是否包含某对象)

Itrator t();(对集合进行迭代操作)

public abstract Object[] toArray();

boolean add(Object obj);

boolean remove(Object obj);

void clear();

boolean equals(Object obj);

Object get(int i);

remove(int i);

List subList(int i,int j);

具体方法见反编译类……

 

④ 请说出Map接口的常用实现类及其常用方法?

Map接口的常用实现类:HashMap

常用方法:根据当前JDK的版本查看Map接口的方法

补充:熟记8个基本数据类型的包装类(封装类)

⑤ 请说出数组与集合的区别?

A:数组的长度是固定的、不能动态改变、不能动态获取数组的分配状态

B:集合的个数是动态的、可以动态获取集合的实际使用情况

C:数组可以存放基本数据类和封装类型如:Object[]

一般情况下、集合在声明时存放的是封装类型

D:在企业级开发中、数组仅仅提供有限的API

E:集合基于接口、类的理论知识进行封装、并且提供大量的、性能优良的API

F:数组在内存中开辟的连续的地址(内存)空间

G:集合可以根据开发需求、灵活的选择内存的分配方式

进一步通过底层的优越的算法、实现资源利用最大化

⑥ 如何使用Iterator遍历集合类?

认识、了解Iterator:

是一个接口====>游标

理论参考百度百科====>结合课堂实例

Iterator iterator = list.iterator();

while(iterator.hasNext())

{

// Object object = iterator.next();

Emp ep = (Emp)iterator.next();

System.out.println("员工编号:" + ep.getEmpno());

System.out.println("======================>");

}

⑦ 如何使用泛型集合,其优势是什么?

泛型:在开发中处理广泛的数据类型(以适应复制功能和多样化的数据类型)

JDK1.5以后提出的该技术概念

优势:

A:在程序编译的过程中就及时确认、审核集合容器中的数据类型

B:自动确认数据类型后,进行类型自动转换

C:提高了程序的健壮性

D:在企业级的开发中,减少代码量,提高开发效率。

 

⑧ 请说出Vector和ArrayList的区别?

Vector:线程中的同步机制===>线程安全

重安全、轻速度

ArrayList:不考虑线程安全

重速度、轻安全

⑨ 请说出Hashtable和HashMap的区别?

=====>上述面试题、后续展开参数

同步与异步的区别?