/*
* java集合框架:
* List:存放的是单一值
* 特点:
* 1、可以存放不同类型的数据,而数组只能存放固定类型的数据
* 2、当使用Arraylist子类实现的时候,初始化的长度是10,当长度不够的时候会自动进行扩容操作
* api方法:
* 增加数据的方法
* add:要求必须传入的参数是Object对象,因此当写入基本数据类型的时候,包含了自动拆箱和自动装箱的过程
* addAll:添加另一个集合的元素到此集合中
*
* 删除数据的方法
* clear:只是清空集合中的元素,但是此集合对象并没有被回收
* remove:删除指定元素
* removeAll:删除集合元素
*
* 查询数据的方法
* contains:判断集合中是否包含指定的元素值
* containsAll:判断此集合中是否包含另一个集合
* isEmpty:判断集合是否等于空
* retainAll:若集合中拥有另一个集合的所有元素,返回true,否则返回false
* size:返回当前集合的大小
*
* //集合转数组的操作
* toArray:将集合转换成数组
* */
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
List list = new ArrayList();
list.add(123);
list.add(456);
list.add("abc");
list.add(false);
System.out.println(list);
list.add(0,"ok");
System.out.println(list);
System.out.println(list.get(2));
System.out.println(list.lastIndexOf("abc"));
System.out.println(list.lastIndexOf(456));
System.out.println(list.remove(2));
System.out.println(list);
System.out.println("---------------------------------");
System.out.println(list.set(2,"1111"));//替换指定元素
System.out.println(list);
System.out.println(list.subList(0,3));//取头不取尾
}
}
Vector
/*
1、Vector也是List接口的一个子类实现
* 2、Vector跟ArrayList一样,底层都是使用数组进行实现的
* 3、面试经常问区别:
* 1) ArrayList是非线程安全的,高效率,Vector是线程安全的,低效率
* 2) ArrayList扩容是每次扩容1.5倍,Vector扩容是每次扩容2倍
*/
public class VectorDemo {
public static void main(String[] args) {
Vector vector = new Vector();
vector.add(000);
vector.add(123);
vector.add("abc");
vector.add(true);
vector.add(100.0d);
System.out.println(vector);
System.out.println(vector.firstElement());//显现第一个元素
vector.remove(1);//删除指定元素
System.out.println(vector);
}
}