java类集
2015-10-25 22:54
260 查看
1基本概念
1.1如果要保存一组对象,如果用数组的话长度有限制,而类集框架本身不受对象数组长度的限制,所谓的类集就是一个动态的对象数组。
1.2特性:
1)高性能,对基本类集(动态数组,链接表,树和散列表)的实现是高效率的
2)框架必须允许不同类型的类集以相同的方式和高度互操作方式工作
3)类集必须是容易扩展和修改的,以此诞生了一组标准接口
[b]1类集框架的主要接口
[/b]
1)collection:存放一组单指的最大父接口
2)list:collection的子接口,比较常用,list的内容是可以重复的
3)set:collection的子接口,比较常用,set的内容是不可以重复的
4)map:存放对值的最大父接口,以key->value的形式保存
5)iterator:集合的输出接口,只能从前到后单向输出
6)listiterator:iterator的子接口,可以双向输出
7)Enumeration:最早的输出接口,用于输出指定集合中的内容
8)SortedSet:单值的排序接口,可以使用比较器排序
9)SortedMap:对值的排序接口,按key排序
10)queue;队列接口,此接口的子类可以实现队列操作
11)map.entry:每个map接口中都保存有map.entry接口实例
![](http://img.blog.csdn.net/20151025225058686?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3接口详解
1)list
① list是collection的子接口,可以有重复的元素
public interface List extends Collection<E>
②list接口常用的子类ArrayList
public class ArrayList<E> extends AbstractList<E>
implements LIST<E>,RandomAccess,CLoneable,Serializable
实例操作(1):验证增加数据的操作
删除操作:与增加类似用.remove()
实例操作(2):输出List 的内容
实例操作(3):将集合转成数组
LinkedList是一个链表的操作类
publi class LinkedList<E> extends AbstractSequentiaList<E>
implements List<E>,Queue<E>,Cloneable,Serializable
从定义上看此类同时实现了Queue接口
1.1如果要保存一组对象,如果用数组的话长度有限制,而类集框架本身不受对象数组长度的限制,所谓的类集就是一个动态的对象数组。
1.2特性:
1)高性能,对基本类集(动态数组,链接表,树和散列表)的实现是高效率的
2)框架必须允许不同类型的类集以相同的方式和高度互操作方式工作
3)类集必须是容易扩展和修改的,以此诞生了一组标准接口
[b]1类集框架的主要接口
[/b]
1)collection:存放一组单指的最大父接口
2)list:collection的子接口,比较常用,list的内容是可以重复的
3)set:collection的子接口,比较常用,set的内容是不可以重复的
4)map:存放对值的最大父接口,以key->value的形式保存
5)iterator:集合的输出接口,只能从前到后单向输出
6)listiterator:iterator的子接口,可以双向输出
7)Enumeration:最早的输出接口,用于输出指定集合中的内容
8)SortedSet:单值的排序接口,可以使用比较器排序
9)SortedMap:对值的排序接口,按key排序
10)queue;队列接口,此接口的子类可以实现队列操作
11)map.entry:每个map接口中都保存有map.entry接口实例
3接口详解
1)list
① list是collection的子接口,可以有重复的元素
public interface List extends Collection<E>
②list接口常用的子类ArrayList
public class ArrayList<E> extends AbstractList<E>
implements LIST<E>,RandomAccess,CLoneable,Serializable
实例操作(1):验证增加数据的操作
<span style="font-size:18px;">package com.mjc.list; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class ArrayListDemo1 { public static void main(String args[]){ List<String> allList=null; Collection<String> allCollection =null; allList=new ArrayList();//实例化List对象 allCollection = new ArrayList();//实例化Collection对象 allCollection.add("and"); allList.add("lw");//从Collecion继承的方法 allList.add(0, "mjc");//List扩充的方法,,,,在集合的指定位置加元素 allList.addAll(1, allCollection); System.out.println(allList); } } </span>
<span style="font-size:18px;">运行结果:[mjc, and, lw]</span>
删除操作:与增加类似用.remove()
实例操作(2):输出List 的内容
package com.mjc.list; import java.util.ArrayList; import java.util.List; public class ArrayListDemo2 { public static void main(String args[]){ List<String> allList=new ArrayList(); allList.add("lw"); allList.add("and"); allList.add("mjc"); for(int i=0; i<allList.size();i++){//从前往后 System.out.print(allList.get(i)+"、"); } for(int i=allList.size()-1; i>=0;i--){//从后往前 System.out.print(allList.get(i)+"、"); } } }
实例操作(3):将集合转成数组
package com.mjc.list; import java.util.ArrayList; import java.util.List; public class ArrayList3 { public static void main(String args[]){ List<String> allList=new ArrayList(); allList.add("lw"); allList.add("and"); allList.add("mjc"); String str[]=allList.toArray(new String[]{}); System.out.println("指定数组类型"); for(int i=0;i<str.length;i++){ System.out.print(str[i]+"、"); } } }③LinkedList子类与Queue接口
LinkedList是一个链表的操作类
publi class LinkedList<E> extends AbstractSequentiaList<E>
implements List<E>,Queue<E>,Cloneable,Serializable
从定义上看此类同时实现了Queue接口
相关文章推荐
- 温故知新之__Java类加载器(一)
- 高效使用JavaEE ORM框架
- 从头认识java-4.1 创建与初始化对象
- 通俗易懂的例子解释Java回调机制
- 从头认识java-4.1 创建与初始化对象
- Java第四次上课博文动手动脑
- Ubuntu下Java环境配置
- String的一些总结(JAVA)
- 基于spring websocket+sockjs实现的长连接请求
- java实验报告(实验五)
- Spring 事物
- java多线程
- java快速排序
- protobuf-实践篇
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- SrpingMVC 拦截器
- Java语言基础之静态绑定and动态绑定
- Java中String类的length()、charAt()、getChars()、replace()、toUpperCase()、toLowerCase()、trim()、toCharArray()使用说明
- hadoop2.6.0+hive1.2启动报错java.lang.IncompatibleClassChangeError
- 从MVC到前后端分离