|-- 自定义对象的Person,可以存储到List结合,HashSet,TreeSet 带泛型的 *****
|-- 泛型的限定,明白上限和下限,不要求会写,能看的明白知道什么意思就行了
|-- ? 集合的通配符,匹配任意的泛型
import java.util.*;
public class GenericDemo1{
public static void main(String[] args){
TreeSet<Person> al = new TreeSet<Person>();
//HashSet<Person> al = new HashSet<Person>();
//ArrayList<Person> al = new ArrayList<Person>();
al.add(new Person("zhangsan",22));
al.add(new Person("lisi",32));
al.add(new Person("wangwu",42));
Iterator<Person> it = al.iterator();
while(it.hashNext()){
Person p = it.next();
syso(p.getNext()+...+p.getAge());
}
}
}
6.Map集合
|--双列的集合,一次存储一对键值对象
|--将键映射到值
|--不允许存在重复的键允许存在重复的值
|--每个键只能映射一个值
|--Map集合中去处对象的两种方式
|--keySet()开发中常用
import java.util.*;
public class MapDemo{
main{
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("qq",123);
map.put("ww",456);
map.put("ee",789);
//用keySet()将,Map集合中的链存储到Set集合中
Set<String> set = map.keySet();
//用迭代器迭代set集合
Iterator<String> it = new Iterator();
while(it.hasNext()){
String key = it.next();
Interger value = map.get(key);
syso(key+vaiue);
}
}
}
|--entrySet()面试可能会出现
import java.util.*;
public class MapDemo{
main{
Map<String,Integer> map = new HashMap<String,Integer>();
map.put("qq",123);
map.put("ww",456);
map.put("ee",789);
Set<Map.Entry<String,Integer>> set = map.entrySet();
Iterator it = new Iterator();
while(it.hasNext){
Map.Entry<String,Integer> me = it.next();
String key = me.getKey();
Integer value = me.getValue();
syso(key + value);
}
}
}
|-- Map集合中的常用方法
|-- put(K,v)将对象存储到集合,如果有重复的键,put方法会返回被替换之间的值
|-- get(K) 根据键获取对应的值,如果没有这个键,返回null
|-- containsKey(K)判断集合中是否有这个键,有就返回true
|-- containsValue(V)判断集合中是否有这个值,有就返回true
|-- size() 返回集合中存储的键值对的个数
|-- keySet() 将集合中的键存储到Set集合
|-- entrySet() 将集合中的键值关系存储到Set集合,键值关系对象是Map.Entry
import java.util.*;
public class MapDemo{
main{