java实现类集的包: java.util.*包
类集:动态对象数组(可以保存多个对象在一个数组之中)或链表
问题:数组长度不可改变,当需要向数组中增加数据的时候需要去考虑对象数组的容量
Collection的子接口Set:( HashSet / TreeSet)
子接口:List ( ArrayListLinkedList )
向对象数组中加入数据 list.add("对象");
}
SortedMap
Iterator输出接口,只要是集开都要去是要使用Iterator输出
对象数据输出顺序与加入顺序一致
详解:
System.out.println(obj);
Collection的子接口List:( ArrayList/LinkedList )
#ArrayListList 使用必须依靠子类——>ArrayList (继承了AbstractList类)
如果使用List,则格式为:List list=new ArrayList();
SortedSet
向对象数组中移除数据 list.remove("对象");
曲接打印System.out.println(all); 结果:[对象1,对象2,对象3]
使用类集的时候在加入对象的时候最好只加入同一类对象
&暴风影音nbsp; 为Iterator实例化:public Iterator iterator()
List<java.lang.String> list = new ArrayList<java.lang.String>();
需要一个一个对象打印出来的时候,方法有:
1,使用for循环: size()方法求出对象数组的长度
( 判断是否有下一个元素:public boolean hasNext() )
Object obj=iter.next();
Iterator iter=list.iterator();
Collection 接口:在一般开发中为了清楚的表现处理数据的存放,往往不曲接使用Collection
}
List战Set都不能使用Enumeration输出
(Collection)集开操作的次要方法:
加入数据:public boolean add(Object obj)
删除数据:public boolean remove(Object obj)
public boolean remove(int index)
只能让集开中只加入一种对象:JDK1.5撑持
ListIterator:答应双向遍历列表,并可修改单元
#LinkedList提供了一个链接列表数据布局
java类集接口框架
Collection元素的类集,即对象,每次存放单个对象
异同
1,Set的基本使用与List一致,但是HashSet子类存放时是无序的(散列存放)。
Set<java.lang.String> set=new HashSet<java.lang.String>();
不撑持迭代函数
Set中的数据不答应有重复元素,重复元素被替换掉。
#HashSet无序存放(散列存放)
#TreeSet有序存放(升序存放)
靠Comparable接口排序(如,输入为GBEACFD,输出为ABCDEFG)
Iterator :从前到后顺序输出(不能从后向前)
与出元素的个数:public int size()
Map接口中 (HashMap /TreeMap)
#HashMap映射类 key——>value 异步处理方式
Map的次要功能是作为查找使用,不是输出使用。
While(iter.hasNext()){
与出数据方法:Object get(Object key)// 根据key与value
ListIterator
Map<java.lang.String,java.lang.String> map=new HashMap<java.lang.String,java.lang.String>();
map.put("键","数据值");
System.out.println(map.get("键"));
#Vector实现动态数组,同步处理
Map接口的对象不能曲接使用Iterator输出。
如果一定要使用Iterator输出Map接口对象的内容,必须使用以下步调:
Map -> Set -> Iterator -> Map.Entry -> key、values
Set set=map.entrySet();
System.out.println(e.nextElement())
while(iter.hasNext()){
Map.Entry me=(Map.Entry)iter.next();
System.out.println(me.getKey()+"——>"+me.getValue());
}
#TreeMap按key排序
2,List中的数据答应重复元素,重复元素保留下来。
以上均为JAVA 2 所带新特性!!
以下引见JAVA 1:
#Enumeration:枚举,与Iterator的功能不断,都是用于输出集开中的内容
Enumeration Iterator
//浏览器的页面的进步后退就是操纵堆栈实现
与值nextElement()next()
子接口:Set( HashSet TreeSet )
}
栈是一个先进后出(后进先出)的操作
Vector vector=new Vector(); //如果换为List vector=new Vector();则Enumeration无法使用
vector.add("elements");
vector.add("elements");
vector.add("elements");
Enumeration e=vector.elements();
while(e.hasMoreElements()){
Iterator iter=set.iterator();
而List的另外一个子类:Vector 可以使用Enumeration 输出
#Stack(Vector的子类)
Stack stack=new Stack();
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
while(!stack.empty()){
System.out.println(stack.pop());
Map每次存放一对值:key——> value
判断是否有下一个内容 hasMoreElements() hasNext()
存入数据方法:put(Object key,Object value)
#HashTable与HashMap相似,但HashTable是同步处理方式的
2,使用Iterator输出:因为集开的长度不固定,所以Iterator采用的方法是一个一个判断输出
属性类,用来保持值的列表
异同:Properties类次要是保存字符串的,而Hashtable是保存对象的
setProperty(String key,String value)
getProperty(String key)
#PropertiesHashTable的子类
//若栈中所有内容弹出