2.2 Vector ●底层数据结构是数组,特点是查询快,增删慢,线程安全,效率低。一般不使用 ●特殊功能: addElement -- add() elementAt -- get() Enumeration elements() -- Iterator hasMoreElements -- hasNext() nextElement() -- next() 2.3 LinkedList ●底层数据结构是链表,特点是查询慢,增删快,线程不安全,效率高。 ●在不需要安全时,增删多的情况下使用 ● 案例 A:LinkedList存储字符串并遍历。 - <FONT color=#000000><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 14pt" lang=EN-US><SPAN style="mso-tab-count: 2"></SPAN></SPAN></FONT>
复制代码
B:LinkedList存储自定义对象并遍历。
- <SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 14pt" lang=EN-US><o:p><FONT color=#000000></FONT></o:p></SPAN>
复制代码 C:用LinkedList模拟栈数据结构的集合。 需要:自定一个栈集合类 - <FONT color=#000000><SPAN style="FONT-FAMILY: 宋体; FONT-SIZE: 14pt"><SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></FONT>
复制代码
3、泛型 3.1 定义:把明确数据类型的工作推迟到创建对象或调用方法的时候去才去明确的一种特殊类型。 3.2 格式:<数据类型> 3.3 好处: A:优化了程序设计 B:使运行时候的异常提前到了编译期间 C:避免了强制类型转换 3.4 使用场景: 查API,看类或方法后有<>的就需要使用泛型 一般就是在集合中使用 4、增强for循环 4.1 格式:for(集合或数组对象中的元素数据类型 变量:集合或数组的对象){ 使用时该变量就是对象的元素 } 4.2 注意事项: 增强for循环是用来替代迭代器的,在使用增强for循环前,最好先判断对象是否为null。 5、可变参数 5.1 格式 修饰符 返回值类型 方法名 (数据类型… 变量){ } 5.2 使用场景:在写功能时,参数的个数不明确的情况。 5.3 A:这里的变量其实就是该数据类型表示的一个数组 B:如果一个方法有多个参数,并且有可变量参数,那么可变参数要放在最后。 |