Set集合中不区分元素的顺序,不允许出现重复元素。
n HashSet类:无次序,无重复,最多一个null,线程不同步
n TreeSet类:自动升序,无重复,线程不同步
n 集的遍历、添加、删除元素。
Set<Student> s = new HashSet<Student>();
Student stu=new Student("zhangsan",18);
s.add(stu);//加第1 人
stu=new Student();
s.add(stu);//加第2 人
stu=new Student("lisi",17);
s.add(stu);//加第3 人
//foreach风格
for(Student obj:s)
{
System.out.println(obj.mess());
}
//迭代器方法
Iterator<Student> it=s.iterator();
while(it.hasNext())
{
Student st=it.next();
System.out.println(st.mess());
}
2. Map接口
java.util.Map接口描述映射结构,允许以键集、值集合或键-值映射关系集的形式查看某个映射的内容。
l 主要方法:
n Object put(Object key, Object value)
n Object get(Object key)
n boolean isEmpty()
n void clear()
n int size()
l 应用类
n HashMap类:无次序,允许null“值”和null“键”,值可重复但键不能重复,线程不同步。
n Hashtable类:无次序,“值”和“键”都不允许null,值可重复但键不能重复,线程同步。
n TreeMap类:按“键”值自动排序,线程不同步
Map<Number,String> m=new HashMap<Number,String>();//类的类型,Number可改为Integer
m.put(1,"you");
m.put(102,"he");
m.put(45,"we");
//键集合
for(Number x:m.keySet())
{
System.out.println(x);
}
//值集合
for(String y:m.values())
{
System.out.println(y);
}
//键-值
for(Number x:m.keySet())
{
System.out.println(x+":"+m.get(x));
}