1基本概念
1.1如果要保存一组对象,如果用数组的话长度有限制,而类集框架本身不受对象数组长度的限制,所谓的类集就是一个动态的对象数组。
1.2特性:
1)高性能,对基本类集(动态数组,链接表,树和散列表)的实现是高效率的
2)框架必须允许不同类型的类集以相同的方式和高度互操作方式工作
3)类集必须是容易扩展和修改的,以此诞生了一组标准接口
1类集框架的主要接口
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接口
191

被折叠的 条评论
为什么被折叠?



