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

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接口实例



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接口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: