一、ArrayList集合的使用
1.1知识点
//创建ArrayList集合对象
ArrayList<String> list = new ArrayList<>(); <>是一种泛型泛型:是一种数据安全的做法,规定集合应该存储怎样的数据类型
为什么要在集合中添加泛型?
方便管理
1.2ArrayList集合方法
package com.qf.arraylist_class;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class Test02 {
public static void main(String[] args) {
//创建ArrayList集合对象
ArrayList<String> list = new ArrayList<>();
//添加元素
list.add("椎名空");
list.add("张三");
list.add("天使萌");
list.add("佐佐木希");
list.add("古川伊织");
list.add("京香Julia");
//在指定下标上插入元素
list.add(3, "上原亚衣");
//通过下标设置元素
list.set(1, "王五");
//将newList1中所有的元素添加到list集合的末尾
ArrayList<String> newList1 = new ArrayList<>();
Collections.addAll(newList1, "aaa","bbb","ccc","ccc");//利用集合工具类对集合进行批量添加
list.addAll(newList1);
//将newList2中所有的元素添加到list集合指定下标的位置
ArrayList<String> newList2 = new ArrayList<>();
Collections.addAll(newList2, "xxx","yyy","zzz","zzz");//利用集合工具类对集合进行批量添加
list.addAll(3, newList2);
//通过下标获取元素
String name = list.get(1);
System.out.println("通过下标获取元素:" + name);
//获取元素个数
int size = list.size();
System.out.println("获取元素个数:" + size);
//清空集合中所有的元素
//list.clear();
System.out.println("判断集合中是否有指定元素:" + list.contains("天使萌"));//true
System.out.println("判断集合中是否有指定集合(判断包含关系):" + list.containsAll(newList1));//true
System.out.println("判断集合中是否没有元素:" + list.isEmpty());//false (true-没有元素 false-有元素)
System.out.println("获取元素在集合中第一次出现的下标:" + list.indexOf("zzz"));//5
System.out.println("获取元素在集合中最后一次出现的下标:" + list.lastIndexOf("zzz"));//6
//依据元素删除元素
list.remove("上原亚衣");
//依据下标删除元素
list.remove(1);
//去除交集
list.removeAll(newList1);
//保留交集
list.retainAll(newList2);
//从开始下标处(包含)截取到结束下标处(不包含),返回新的集合
List<String> subList = list.subList(1, 3);
//将集合转换为数组
Object[] array = subList.toArray();
System.out.println(Arrays.toString(array));
System.out.println("---------------");
//遍历1 - for循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("---------------");
//遍历2 - foreach
for (String element : list) {
System.out.println(element);
}
System.out.println("---------------");
//遍历3 - Iterator
Iterator<String> it = list.iterator();
while(it.hasNext()){//判断是否有下一个可迭代的元素
String next = it.next();//返回下一个元素
System.out.println(next);
}
System.out.println("---------------");
//遍历4 - ListIterator
ListIterator<String> listIterator = list.listIterator();
while(listIterator.hasNext()) {//判断是否有下一个可迭代的元素
String next = listIterator.next();//返回下一个元素
System.out.println(next);
}
}
}
1.3泛型市列
package com.qf.generic01;
/**
* <> -- 泛型
*