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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树