黑马程序员技术交流社区
标题:
【石家庄校区】Java六期就业班第一次技术交流
[打印本页]
作者:
Victoria花花
时间:
2017-12-21 17:21
标题:
【石家庄校区】Java六期就业班第一次技术交流
本帖最后由 小石姐姐 于 2017-12-22 15:15 编辑
Java六期就业班第一次技术交流
集合
Today is a beautiful day to work
集合
ArrayList
永远可以添加成功,因为ArrayList允许重复
Collection中的常用功能
Collection(是接口不能实例化)
boolean add(Object e) --- 添加元素
void clear() --- 清空集合
boolean contains(Object o) --- 是否包含某个元素
boolean isEmpty() --- 是否为空
boolean remove(Object o) --- 删除某个元素
int size() --- 集合的长度
Object[] toArray() --- 将集合转换成一个Object类型的数组
返回包含此 collection 中所有元素的数组。如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。
Iterator(迭代器)
集合的遍历方式
1.toArray(),可以把集合转换成数组,然后遍历数组即可
2.iterator(),对 collection 进行迭代的迭代器,可以返回一个迭代器对象(可用于遍历集合)
迭代器-Iterator
E next()
--- 返回下一个元素
注意
:使用next来获取如果超过了,则会异常
boolean hasNext()
--- 如果仍有元素可以迭代,则返回 true
并发修改异常
并发修改异常 -- ConCurrentModificationException
迭代器是依赖于集合的,相当于集合的一个副本,当迭代器在操作的时候,如果发现和集合不一样,则抛出异常
修改
值得是会改变集合长度的操作
增加元素
删除元素
清空元素
解决方案
不使用迭代器
在使用迭代器进行遍历的时候,使用迭代器进行修改
List接口中
ListIterator ListIterator()
获取List的迭代器,然后调用ListIterator()的add方法
删除元素 -- remove()
List接口
类型转换异常
由于集合可以储存雷伊类型的对象,当我们存储了不同类型的对象,就有可能在转换的时候出现异常
所以Java为了解决这个问题,给我们提供了一个机制,泛型
泛型
泛型
是一种广泛类型,把明确数据类型工作提前到编译时期,借鉴了数组特点
增强for
foreach
格式
for(元素的类型 变量:集合或者数组对象){ 可以直接使用变量; }
注意
:增强for中不能修改集合(该表集合长度),会发生并发修改异常
原因:因为增强for循环内部使用的是迭代器进行迭代
增强for优缺点:
优点:简单快捷拿到每一个元素
缺点:
循环过程中不能修改集合
不能像普通的for循环那样使用索引
常见数据结构
数组
数组特点:(增删慢,查询块)
元素类型必须一致
元素有整数索引
长度无法改变
可以存基本数据类型,也可以存引用数据类型
链表
链表的特点:增删快,查询慢
链表:由链子连起来的一堆结点
结点: 地址值,值,下一个结点的地址值
链表与数组的异同
数组特点:增删慢,查询块
链表的特点:增删快,查询慢
栈&队列
栈特点:
先进后出
队列特点
后进先出
List
<E>
List
特点
1.有序地 -- 存取和读取顺序是一致的
2.有整数索引
3.允许重复的
List的特有方法
void add(int index,E element)
-- 在指定索引位置添加指定元素
E get(int index)
-- 根据索引,返回元素
E remove(int index)
-- 根据索引删除,返回删除元素
E set(int index,E element)
-- 根据索引修改元素,返回被修改的元素
LinedList
ArrayList
底层数组结构,查询快,增删慢
LinkedList
底层链表结构,查询慢,增删块
如果查询多,增删少,使用
ArrayList
如果查询少,增山多,使用
LinkedList
LinkedList
特点
void addFirst(E e)
-- 将元素添加开头
void addLast(E e)
-- 将元素添加到最后
E removeFirst()
-- 删除索引为0的元素,并返回该元素
E removeLast()
-- 删除索引为size-1的元素,并返回该元素
E getFirst()
-- 获取索引为0的元素
E getlast()
-- 获取最后一个元素
盛不下了,就这样吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2