专业的JAVA编程教程与资源

网站首页 > java教程 正文

25天成为java大神之——第十六天:集合(List)

temp10 2024-11-02 13:34:46 java教程 16 ℃ 0 评论

1:List

2:数据结构(理解)

25天成为java大神之——第十六天:集合(List)

(1)面试题:常见的数据结构有哪些?以及每种数据结构的优缺点?

(2)数据结构

A:栈

先进后出

B:队列

先进先出

C:数组

查询快,增删慢

D:链表

查询慢,增删快

3:List的三个实现类(掌握)

(1)List的三个实现类特点

A:ArrayList

底层数据结构是数组,查询快,增删慢

线程不安全,效率高

B:Vector

底层数据结构是数组,查询快,增删慢

线程安全,效率低

C:LinkedList

底层数据结构是链表,查询慢,增删快

线程不安全,效率高

(2)你如何选择哪个儿子进行使用?

看情况。

要安全吗?

要:Vector(其实也不用这个有更好的方式,后面讲)

不要:ArrayList和LinkedList

查询多:ArrayList

增删多:LinkedList

如果你什么都不知道,就用ArrayList。

(3)ArrayList

A:存储字符串并遍历

B:存储自定义对象并遍历

(4)Vector

A:特有功能(了解)

a:addElement(object obj)--add()

b:elementAt(int index)--get()

c:elements()--iterator()

B:存储字符串并遍历

C:存储自定义对象并遍历

(5)LinkedList

A:特有功能(了解)

a:addFirst(),addLast()

b:removeFirst(),removeLast()

c:getFirst(),getLast()

B:存储字符串并遍历

C:存储自定义对象并遍历

(6)案例:

A:去除ArrayList集合中重复字符串

B:去除ArrayList集合中重复自定义对象

contains()方法的底层源码是equals()

C:用LinkedList模拟栈数据结构的集合,并测试

4:泛型(掌握)

(1)泛型:是一种把明确数据类型的工作推迟到创建对象或者调用方法的时候采取明确的特殊的数据类型。

(2)格式:

<数据类型>

(3)好处:

A:提高了程序的安全性

B:把运行时期异常提前到了编译期

C:避免了强制类型转换

(4)在哪些地方使用泛型?

看API即可,如果类,抽象类,接口后面跟有<...>说明这里需要使用

(5)泛型的由来(理解)

A:泛型的由来

B:泛型类

C:泛型方法

D:泛型接口

E:泛型高级

(6)案例:

把前面的集合案例用泛型改进。

5:JDK5新特性(掌握)

(1)增强for(掌握)

A:格式

for(元素的数据类型 变量名 : 数组或者Collection集合对象) {

使用变量名即可

}

B:好处

简化了数组或者集合的遍历

C:注意事项

增强for的目标不能为null

(2)静态导入(了解)

A:格式

import static xxx.yyy.zzz.类名.方法名;

导入到了方法的级别

B:注意事项

a:方法必须是静态的

b:如果有同名的方法,将来使用的时候还要加前缀,意义不大,所以一般不用。

(3)可变参数(理解)

A:针对写功能的时候,参数个数不明确的情况

B:格式:

修饰符 返回值类型 方法名(形式参数数据类型... 变量) {}

C:注意实现

a:这个变量其实是数组,它会自动把多个元素组装成一个数组

b:如果一个方法有多个形式参数,可变参数一定放最后

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表