Collection
常用方法
java
package com.test01;
import java.util.ArrayList;
import java.util.Collection;
/*
添加元素---boolean add(E e);
移除元素---boolean remove(Object c);
判断元素是否存在---boolean contains(Object c);
*/
public class S {
public static void main(String[] args) {
// 创建Collectiom的对象
Collection<String> s = new ArrayList<>();
// 添加元素---boolean add(E e);
s.add("Hello");
s.add("world");
// 重写toString()方法
System.out.println(s);
// 移除元素---boolean remove(Object c);
s.remove("Hello");
System.out.println(s);
// 判断元素是否存在---boolean contains(Object c);
System.out.println(s.contains("world"));
// 判断集合是否为空 boolean isEmpty();
System.out.println(s.isEmpty());
// 返回长度---int size();
System.out.println(s.size());
// 清空元素---void claer();
s.clear();
}
}
遍历方法
java
package com.test01;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class S {
public static void main(String[] args) {
// 创建Collection的对象
Collection<String> s = new ArrayList<>();
s.add("1");
s.add("2");
s.add("3");
// 返回集合中元素的迭代器,通过集合中iterator()方法得到
Iterator<String> it = s.iterator();
// 通用遍历方法
// boolean hasNext()----如果集合中有更多的元素,则返回true
// E next()----返回迭代器中的下一个元素
while(it.hasNext()){
String a = it.next();
System.out.println(a);
}
}
}
List
常用方法
遍历与Collection类似//可能会出现并发修改异常
多了一种遍历方法
快捷键为list.fori,回车
java
package com.test01;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
public class S {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
// void add(int idnex,E c)----在指定索引添加元素
list.add(1,"100");
// 也是重写了toString()方法
System.out.println(list);
// E remove(int x)-----删除指定元素,并返回此元素
System.out.println(list.remove(1));
System.out.println(list);
// E set(int x,E a)----修改指定元素,并返回此元素
System.out.println(list.set(1,"200"));
System.out.println(list);
// E get(int x)----得到指定元素
System.out.println(list.get(2));
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
ListIterato:列表迭代器
java
package com.test01;
import java.util.*;
public class S {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
ListIterator<String> it = list.listIterator();
// //正向,不常用
// while(it.hasNext()){
// System.out.println(it.next());
// }
// System.out.println("----------");
//
// //反向,不常用
// while(it.hasPrevious()){
// System.out.println(it.previous());
// }
//
// System.out.println("--------");
//add()方法,重点掌握
while(it.hasNext()){
String s = it.next();
if(s.equals("2")){
it.add("10");
}
}
System.out.println(list);
}
}
增强for
java
public class S {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("4");
for(String i : list){
System.out.println(i);
}
}
}
ArrayList----底层是数组
LinkedList
LinkedList---底层是链表
java
public class dome {
public static void main(String[] args) {
LinkedList<String> linkedList = new LinkedList<>();
//boolean addFirst(E e)在头加入元素,removeFirst()同理,getFirst()
linkedList.addFirst("1");
//在尾加入元素,removeLast()同理,getLast()
linkedList.addLast("3");
for(String it : linkedList){
System.out.println(it);
}
}
}
HasSet
底层是哈希表
3种遍历不能用普通循环
不保证存储和输出顺序一致