Java类集合:
如果我们知道需要多少数据,我们可以定义一个一定大小的数组;如果我们不知道多少数据,则可以用类集合。他其实也就是一个动态的对象数组。
collection:
List:(接口,可以重复内容)
ArrayList:(子类,有序,异步处理,非线程安全类)
add()/addAll()
remove()/removAll()
get()
toArray()
Vector:(子类,同步处理,线程安全类和ArrayList相似,但不如ArrayList)
LinkedList:(链表,FIFO,实现了Queue接口)
add()/addFirst()/addLast()
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
如果是查找多一些,用ArrayList;
如果是增删多一些,用LinkedList;
Set:(接口,不可以重复内容)
HashSet:(子类,不能重复的元素,没有顺序)
add()
TreeSet:(子类,进去无序,出来有序,实现了SortedSet接口)
add()
SortedSet:(接口,TreeSet是实现了他)
add()
Queue:队列借口,FIFO
SortedSet:可以对数据进行排序
Map:(接口,K-V对,不像List和Set一样是单值,)
HashMap:(子类,无序,key不能重复)
put()
get()
containsKey() //key是否存在
containValue() //value是否存在
keyset(). //全部的key
values (). //全部的value
TreeMap:(子类,可以按key排序)
WeakHashMap:(子类,暂时不用的数据会被清除掉)
IdentityHashMap(子类,key可以重复)
SortedMap:(接口,TreeMap是他的子类)
其他集合类:
stack
properties
集合的输出:
Iterator(最常用,迭代输出)
hasNext()
next()
remove()
ListIterator(双向迭代输出)
hasNext()
hasPrevious()
next()
remove()
foreach(可以数组和集合的输出)
for(String str : list)
{System.out.print(str + “‘、”)}
PS:这里对于一些子类,只写了一部分方法,更多的方法可以去google,其中接口比较重要的是List和Map,需要重点掌握!
/*********List例子**********/
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class Listdemo{
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add(“z”);
list.add(“m”);
Iterator<String> iter = list.iterator();
while(iter.hasNext()){
System.out.print(iter.next() + “、”);
if(“c”.equals(iter.next())){
iter.remove();
}else{
continue;
}
}
}
}
/*******************Map例子******************/
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
public class Mapdemo{
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>();
map.put(“name”,”zm”);
map.put(“age”,”24”);
Set<Map.Entry<String,String>> allmap = map.entrySet();
Iterator<Map.Entry<String,String>> iter = allmap.iterator();
while(iter.hasNext()){
Map.Entry<String,String> me = iter.next();
System.out.print(me.getKey() + “—>” + me.getValue());
}
}
}
/*******************Map例子2******************/
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
public class Mapdemo{
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>();
map.put(“name”,”zm”);
map.put(“age”,”24”);
for(Map.Entry<String,String> me : map.entrySet()){
System.out.print(me.getKey() + “—>” + me.getValue());
}
}
}