关于集合框架的总结
一:集合框架的四种类型:1:Set 2:List 3:Map 4:队列
1:Set******************
Set类型的特点:1.无序的 2.不能有重复的数据
3.不能使用索引来获取 4.如果要获取数据必须使用迭代器。
重要方法:1:Iterator<E> iterator() --------得到集合的迭代对象
截取程序示例:
Iterator<Student> iter = cl.iterator();
//遍历
while(iter.hasNext()){
Student stu = iter.next();
2:void clear() -------清除集合中的所有对象,执行过后,集合中不在装有对象
3:boolean remove(Object o)
ClassCastException 如果所要移除的元素于此类型不符,将出现此错误;
如所要移除的元素为null,则会出现空指针异常。
4:int size( ) ------返回集合元素的个数
注意:Set是一个接口定义,所以我们只能用它的实现子类
2:List **************
List类型的特点 1.有序的 2:是使用数组来实现的
重要方法:具有增删查改的方法,与Set型类似
Indexof(Object o)-----索引队列第一次经过该元素的位置,如果无此元素,将返回-1;
Set(index,E element)------用指定元素替换指定位置的元素
程序截取示例:Student temp=list.get(i);
list.set(i, list.get(min));
list.set(min, temp);
size()-------------返回队列总元素
get(int index)---------------获取指定位置的元素
3.Map********************
特点: 1.键值对方式存储数据。
2.只要键不同,那么值是可以相同的。
3:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
重要方法:get(Object key)------ 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
put(K key ,V value)------ 将指定的值与此映射中的指定键关联(可选操作)。
keySet()-----返回此映射中包含的键的 Set 视图。
程序截取示例:
for (int i = 0; i < 5; i++) {
Student stu = new Student("学生" + (char) (i + 65), i);
map.put("学生" + (char) (i + 65), stu);
}
自定义队列 特点:属于线性结构,能进行队列的删减增查,先定义一个接口,再让一个类来实现该接口
程序截取示例:
定义接口:
public interface List<E>{
//定义一个添加元素的方法
public void add(E element);
//定义一个返回队列大小的方法
public int count();
//定义一个获取指定位置的元素的方法
public E ele(int index);
}
实现方法:
//添加元素的方法
public void add(E element){
Object newarray[]=new Object[array.length +1];
for(int i=0; i<array.length ;i++){
newarray[i]=array[i];
}
newarray[array.length ]=element;
array=newarray;
count++;
}