集合的概述
在面向对象等高级语言中,我们往往操作的都是对象,而数据多了,需要封装对象,那么对象一旦多了,那我们也需要存储,存储对象的两种方式。数组和集合。
数组和集合的最大区别:数组中的对象的个数是一定的,但是集合中存储的个数是可变的,另外数组只能存储相同类型的对象,但是集合中可以存储不同类型的对象。
集合相当于是一个容器,而为什么集合中有不同类型的子类呢,原因就是集合中对每一种数据的存储方式不同,而这种存储方式也叫做数据结构。
java中集合常见的分类:
集合中的常用共性方法
boolean add(E e)向集合中添加元素。
boolean addAll(Collection c)向集合中添加另一个集合中所有的元素。
void clear() 清除集合中所有的元素。
boolean contains(Object o)判断集合中是否包含某个元素。
boolean containsAll(Collection c) 判断集合中是否包含c集合中的所有元素。
boolean remove(Object )移除集合中的指定的元素(如果元素存在);
boolean removeAll(Collection c) 移除集和中指定c集合的所有元素。
boolean isEmpty() 判断元素是否为空。
int size() 返回集合中元素的个数。
Iterator iterator()返回改集合的一个迭代器(通过该迭代器可以遍历集合);
LIst接口的子类Arraylist使用
import java.util.*;
class JavaCollection1_1
{
public static void main(String[] args)
{
//创建list接口下的一个子类ArrayList对象。
ArrayList al=new ArrayList();
//1 向子类中添加元素--集合中存储的都是对象的地址,而不是对象的实体。
al.add("java_1");
al.add("java_2");
al.add("java_3");
al.add("java_4");
//2打印集合
sop(al);
//3 输出集合的元素的个数size()
sop(al.size());
//4删除一个元素;
al.remove("java_2");
//5清空集合
al.clear();
//6判断元素
al.contains("java_3");
//7判断集合是否为空(长度为0的时候集合就会空)
al.isEmpty();
//method_1();
method_2();
}
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void method_1()
{
ArrayList al1=new ArrayList();
al1.add("java_1");
al1.add("java_2");
al1.add("java_3");
ArrayList al2=new ArrayList();
al2.add("java_2");
al2.add("java_3");
al1.retainAll(al2);//这里al1中存储的是al1和al2中相同的元素,也就是取交集。
sop(al1);
}
///元素的取出并操作。
public static void method_2()
{
ArrayList al1=new ArrayList();
al1.add("java_1");
al1.add("java_2");
al1.add("java_3");
al1.add("java_4");
//Iterator接口:用于迭代元素。
//Iterator it=al1.iterator();//获取迭代器。迭代器是取出元素的方式。集合的内部(内部类)
/*while(it.hasNext())
{
System.out.println(it.next());
}
*/
for(Iterator it=al1.iterator();it.hasNext();)
{
System.out.println(it.next());
}
}
}