JAVA 中的集合:是一个工具类,就像是容器,存储任意数量具有共同属性的集合。
集合和数组有如下区别:
-
数组的长度固定,集合的长度可变;
-
数组只能通过索引访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。
Collection接口
Java 中的集合分为两大家族,一个是 Collection 家族,一个是 Map 家族,其中 Collection 家族有三大成员:List、Queue 和 Set,这三大成员有四个常用子类:ArrayList、LinkedList、HashSet、SortedSet。这个家族有一个特点,即集合中的元素都是单个存在的。
怎么创建集合
1.导包
import java.util.ArrayList;
2.创建集合
import java.util.ArrayList; // 导包
public class CollTest {
public static void main(String[] args) {
// 创建一个存储字符串的ArrayList集合
ArrayList list = new ArrayList<String>();
}
}
向集合中添加数据
使用集合对象调用 add() 方法即可。
List的ArrayList实现类
1.创建ArrayList集合
ArrayList list=new ArrayList<String>();
2.增删改查
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法增加元素
list.add("list"); // 在最新位置添加指定元素
list.add(1,"hello"); // 在指定位置添加元素
list.add(2,"java"); // 在指定位置添加元素
System.out.println(list);
// 使用get()方法获取指定索引处元素,索引值从0开始
String s = list.get(0);
System.out.println(s);
// 使用set()方法修改指定索引位置的元素值
list.set(1,"hi");
System.out.println(list);
// 使用remove()方法删除指定元素
list.remove(0); // 删除指定索引的元素
list.remove("hi"); // 删除指定元素
System.out.print(list);
3.遍历 ArrayList
遍历集合有三种方式:
(1)使用迭代器遍历
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法添加元素
list.add("list");
list.add(1,"hello");
list.add(2,"java");
list.add("java");
// 通过迭代器遍历集合
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
(2)使用 foreach 遍历
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法添加元素
list.add("list");
list.add(1,"hello");
list.add(2,"java");
list.add("java");
// 通过foreach遍历集合
for(String s:list){
System.out.println(s);
}
(3)使用 size() 方法获取集合长度,配合 for 循环遍历集合
// 创建ArrayList集合
List<String> list=new ArrayList<>();
// 使用add()方法添加元素
list.add("list");
list.add(1,"hello");
list.add(2,"java");
list.add("java");
// 通过 size() 方法遍历集合
for(int x=0;x<list.size();x++){
System.out.println(list.get(x));
}
List的LinkedList实现类
1.创建LinkedList实现类
LinkedList<String> list=new LinkedList<>();
2.LinkedList 集合的增删改查方法和 ArrayList 集合是一样的,以下是它特有的方法:
方法名 | 说明 |
---|---|
addFirst(Object obj) | 在集合第一位添加一个元素 |
addLast(Object obj) | 在集合最后一位添加一个元素 |
getFirst() | 得到集合第一位的元素 |
getLast() | 得到集合的最后一位元素 |
removeFirst() | 删除集合的第一个元素 |
removeLast() | 删除集合的最后一个元素 |