package com.company;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class test01ArrayList {
public static void main(String[] args) {
test001();
test02();
test04();
}
//基本用法
public static void test001(){
//创建一个ArrayList集合,默认集合中元素为Object类型
ArrayList list= new ArrayList();
//向集合中添加元素
list.add("tom");
list.add(18);
list.add(120.5);
list.add(true);
list.add(new Object());
list.add(null);
//创建一个泛型集合,指定集合中元素的类型
List<String> list2=new ArrayList<>();
list2.add("tom");
System.out.println(list);
System.out.println(list2);
}
//常用方法
public static void test02(){
ArrayList<String> list=new ArrayList<>();
//add()添加元素
list.add("tom");//向末尾添加,有序(元素顺序与放入顺序一致)
list.add("jack");
list.add("mike");
list.add("tom");//允许出现重复的元素
list.add(2,"alice");//向指定索引位置添加,索引从0开始
System.out.println(list);
//set()修改
//String str= list.set(0,"lucy");//返回被修改的元素
//System.out.println(str);
//remove()删除
//boolean flag=list.remove("mike");//根据元素值删除,返回boolean,表示成功或失败
//System.out.println(flag);
//String str1= list.remove(1);//根据索引删除,返回被删除的元素
//System.out.println(str1);
//get()获取
System.out.println(list.get(1));
//size()集合大小/长度,即元素个数
System.out.println(list.size());
//isEmpty()是否为空
System.out.println(list.isEmpty());
System.out.println(list.size()==0);
//indexOf()指定元素在集合中的索引
System.out.println(list.indexOf("tom"));
System.out.println(list.lastIndexOf("aaa"));//如果不存在,则返回-1
//contains()是否包含指定元素
System.out.println(list.contains("alice"));
//clear()清空
//list.clear();
//toArray()将list转换为数组
Object[] arr11= list.toArray();
//System.out.println(Arrays.toString(arr11));
//将数组转换为list
String [] arr={"aaa","bbb","ccc"};
List<String> list1= Arrays.asList(arr);
List<String> list2= Arrays.asList("aaa","bbb","ccc");
System.out.println(list2);
}
//常用方法
public static void test03(){}
//遍历集合
public static void test04(){
List<Integer> list = Arrays.asList(12, 4, 54, 16, 8);
//方式1
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+" ");
}
System.out.println();
//方式2
for (Integer num:list){
System.out.print(num+"\t");
}
System.out.println();
//方式3,使用Iterator迭代器,用于遍历集合中所有元素的一种类型(只要实现了Iterable接口的类都可以使用迭代器进行遍历)
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){//是否有下一个元素
Integer num= iterator.next();//获取下一个元素
System.out.print(num+"\t");
}
}
}