您的位置:首页 > 编程语言 > Java开发

java 集合框架一

2016-05-10 10:43 519 查看
/*
集合框架:
为什么会出现这么多容器呢?
因为每一个容器对数据的存储方式都有不同。这个存储方式称之为:数据结构。

集合框架如下:

Collection:遍历元素使用迭代器(iterator)
|--List:有索引、可重复
|--ArrayList:底层数据结构是数组
|--LinkedList:底层数据结构是链表
|--Vector:
|--Set:无索引、不可重复
|--HashSet:底层数据结构是哈希表
|--TreeSet:底层数据结构是二叉树(默认对元素按照自然顺序排序,可新建比较器按照自定义方式排序)

注意:集合中存储的都是对象的引用(地址)。

创建一个集合容器。使用Collection接口的子类。ArrayList
注意,ArrayList中装的都是每个对象的引用(即地址)。
方法add(Object obj)中的参数是Object类型的,这样一来,集合中可以添加任意类型的对象(实际上添加的是对象的引用。)

什么是迭代器:其实就是取出集合元素的迭代方式。
*/

import java.util.*;
class CollectionDemo
{
public static void main(String[] args)
{
method_get();
}

public static void method_1()
{
ArrayList al=new ArrayList();  //al是用来装对象的容器(对象)
al.add("Hello1");
al.add("Hello2");
al.add("Hello3");
sop("原集合内容:"+al);//原集合
sop("原集合长度:"+al.size());//原集合的长度
al.remove("Hello2");//删除一个对象
sop("删除Hello2后的集合内容:"+al);
sop("删除Hello2后的集合长度:"+al.size());
//al.clear();//清空集合
//sop("清空集合后的结果:"+al.size());
sop("Hello1是否存在于集合中:"+al.contains("Hello1"));
al.clear();//清空集合
sop("集合是否为空:"+al.isEmpty());
System.out.println("Hello World!");
}

public static void method_2()
{
ArrayList al1=new ArrayList();
al1.add("Hello1");
al1.add("Hello2");
al1.add("Hello3");

ArrayList al2=new ArrayList();
al2.add("Hello1");
al2.add("Hello5");
al2.add("Hello7");

//al1.retainAll(al2);//al1中只保存与al2中的相同元素。即只保留两者的交集。而al2不改变
al1.removeAll(al2);//al1中去掉与al2相同的元素。即al1-al2
sop("al1"+al1);
sop("al2"+al2);
}

public static void method_get()
{
ArrayList al1=new ArrayList();
al1.add("Hello1");
al1.add("Hello2");
al1.add("Hello3");

//Iterator it=al1.iterator();//获取迭代器,用于取出集合中的元素
//while(it.hasNext())
//{
//	sop(it.next());
//}
for(Iterator it=al1.iterator();it.hasNext();)  //这种放在for循环中的是局部代码,在运行完即被释放。而如果像上面那样新建的话就会产生对象占用空间的问题。
{
sop(it.next());
}
}

public static void sop(Object obj)
{
System.out.println(obj);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 集合框架