Java的几种集合
1、List接口:
整个list都是collection的子接口,并且list里面的内容都是可以重复的。
Arraylist是list的子类:
首先定义一个arraylist:
List<String> list = new Arraylist<Sting>();实例化list对象,并且制定了list的泛型。
list.add(“hello”);添加对象
list.add(“world”);
List.remove(1)表示根据索引的内容删除对象
对list进行输出:
For(int i = 0,i<list.size(),i++){
System.out.print(list.get(i);
}
在list集合中还有一种集合:vector,这个集合比Arrylist集合要早,但是具体操作的话,vector的操作和arraylist操作基本没有区别。只是Arraylist采用了异步处理,而vector是同步处理。
2、set接口与里面的内容是不可以重复的。
常用的子类有:hashset,treeset;
Hashset属于是无序存放的,具体应用如下:
Set<String> all = new Hashset<String>();
all.add(“A”);
all.add(“B”);
all.add(“C”);
String[] str = all.toArray(new String[]{});
for(int i = 0;i<str.length;i++){
System.out.print(str[i]);
}
如果set中存放重复的元素,最终只能存在一个重复的元素。
Treeset属于有序存放的。
Treeset可以对对象进行排序,并输出:
对象类首先要实现comparable<类名>,并且还要使用以下的方法:
public int comparaTo(类名 对象){
在比较要排序的元素,例如:
if(this.age>对象.age){
return 1;
}else if(this.age<对象.age){
return -1;
}else{
Return 0;
}
}
3、Map接口:
所有的map都是以key—value形式保存的。
HashMap的定义:
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,”张三”);
map.pub(2,”李四”);
String name = map.get(1);
System.out.print(name);
Set<Integer> set = map.keyset();//得到全部的key值
Iterator<Integer> iter = set.iterator();
while(iter.hasNext()){
Integer i = iter.next();
System.out.print(map.get(i));
}
TreeMap属于排序的集合。
集合的的输出
Iterator属于迭代输出,原理是不断的判断是否有下一个元素,有的话,则直接输出:
collection<String> all = new array<String>();
all.add(“A”);
all.add(“B”);
Iterator<String> iter = all.iterator();
While(iter.hasnext()){
String s = iter.next();
System.out.print(s);
}
Map集合的输出:
Map<String,String> map = new HashMap<String,String>();
map.put(“aa”,”aaa”);
map.put(“bb”,”bbb”);
Set<Map.Entry<String,String> set = map.entrySet();//变为set实例
Iterator<Map.Entry<String,String>> iter = set.iterator();
while(iter.hasNext()){
Map.Entry<String,String> me = iter.next();
System.out.print(me.getkey()+” ”+me.getValue);
}