1,数组和集合类:
数组长度是固定的集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象
集合的特点:
集合只用于存储对象集合长度是可变的,集合可以存储不同数据类型的对象。
2常用的集合容器:
集合顶层是抽取出来的,抽象所以参阅顶层创建底层子类的方法。
A——List:凡是可以操作角标的方法都是该体系的特有方法元素是有序的元素可以重复
List子类ArrayList LinkedList Vector
ArrayList:底层的数据结构使用的是数组数据结构。查询速度快,增删稍慢 线程不同步
LinkedList:底层使用的是链表数据结构,查询速度慢,增删速度快。线程不同步
Vector:底层使用的是数组数据结构,查询速度增删速度都慢线程同步枚举就是Vector特有的方法 枚举和迭代器是一样的,因为枚举的名称以及方法的名称都过长,所以被迭代器取代了。
a —— Collection举例
class CollectionDemo
{public static void main(String[] args)
{//创建一个集合容器。使用Collection接口的子类ArrayList
ArrayList al=new ArrayList();
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
//打印元集合
sop(al);
//删除元素
//al.remove("java02");
//清空集合
//al.clear();
//判断元素
sop(al.contains("java03"));
sop(al.isEmpty());
//获取个数 集合长度
sop(al.size());
//打印改变后的集合
sop(al);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
a—— Vector
class VectorDemo
{public static void main(String[] args)
{//创建集合 使用Vector
Vector v=new Vector();
//添加元素
al.add("java01");
al.add("java02");
al.add("java03");
//枚举
Enumeration en=v.elements();
while(en.hasMoreElements())
{
System.out.println(en.nexElement());
}
c ——LinkedList
class LinkedListDemo
{public static void main(String[] args){
//创建LinkedList容器
LinkedList link=new LinkedList();
//添加元素每次添加的元素都在第一位
link.addFirst("java01");
link.addFirst("java02");
link.addFist("java03");
//sop(link);
//获取第一位元素
//sop(link.getFirst());
//获取最后一位元素
//sop(link.getLast());
sop(link.removeFirst());
sop(link.size());
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
a——Arraylist判断元素是否相同依据是元素的equals方法。
将自定义对象作为元素存到ArrayList集合中并去除重复元素;
|
|