集合的体系
-- Collection(接口)
-- List(接口,元素可重复)
-- ArrayList
-- LinkedList
-- Set(接口,元素不可重复)
-- HashSet
-- TreeSet
Collection接口的方法
public boolean add(E e)
添加元素到集合末尾
public void clear()
清空集合中的元素
public boolean contains(Object o)
判断集合是否包含某一个元素
public boolean isEmpty()
判断集合是否为空
public boolean remove(Object o)
移除集合中指定的元素
public boolean removeIf(Predicate filter)
移除集合中满足条件的元素
public int size()
获取集合的长度
public boolean removeIf(Predicate filter)
移除集合中满足条件的元素
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.removeif((String s)->{ //()里面写:E 自定义变量
return "aaa".equals(s));
});
}
遍历集合
- 普通for循环(有索引才可以用)
ArrayList<String> list=new ArrayList<>();
list.add("world");
list.add("java");
list.add("hello");
for(int i=0;i<list.size();i++){
String s = list.get(i);
System.out.println(s):
}
- 迭代器遍历(通用方式)
Collection<String> coll=new ArrayList<>();
coll.add("hello");
coll.add("world");
coll.add("java");
//获取迭代器对象
Iterator<String> it = coll.iterator();
//判断是否有元素可以迭代
while (it.hasNext()){
//获取元素
String s = it.next();
System.out.println(s);
}
- 增强for循环(通用方式)---------只能用来遍历,不可以做其他操作
迭代器的代码遍历集合比较麻烦,java语言提供了一种简化的遍历方式,就是增强for循环。
Collection<String> coll = new ArrayList<>();
coll.add("hello");
coll.add("world");
coll.add("java");
//增强for遍历 快捷键:集合/数组.for
for (String s : coll) {
System.out.println(s);
}
在增强for循环中,修改第三方变量的值不会影响到集合中的元素
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
for (String str : list) {
str = "qqq"; //str只是用来接收集合里的值,集合里的元素仍然在集合中
}
System.out.println(list);//[aaa,bbb,ccc]
List接口的方法
List集合相当于Collection而言多了一些针对索引操作的方法。
public void add(int index, E element)
添加元素到指定的索引位置
public E remove(int index)
根据索引位置来删除元素
public E set(int index, E element)
根据索引位置修改元素;把被修改的元素返回
public E get(int index)
获取指定索引的元素
数据结构
数据结构指的是数据的组织方式,不同组织方式就会有不同的特点。
1.栈: 先进后出(子弹夹)
2.队列:先进先出(安检机)
3.数组:查询快增删慢
ArrayList集合底层其实就是数组结构
4.链表:查询慢增删快
LinkedList集合底层就是链表结构
LinkedList特有方法
public void addFirst(E e)
将指定元素插入此列表的开头。
public void addLast(E e)
将指定元素添加到此列表的结尾。
public E getFirst()
返回此列表的第一个元素。
public E getLast()
返回此列表的最后一个元素。
public E removeFirst()
移除第一个元素
public E removeLast()
移除最后一个元素
List集合小结
返回此列表的第一个元素。
public E getLast()
返回此列表的最后一个元素。
public E removeFirst()
移除第一个元素
public E removeLast()
移除最后一个元素