Collection
System.out.println(coll);
System.out.println(map);
}
}
map集合的两种取出方式:
1,Set
所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。
Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。
2,Set
而这个关系的数据类型就是:Map.Entry
Entry其实就是Map中的一个static内部接口。
为什么要定义在内部,
因为只有有了Map集合,有了键值对,才会有键值的映射关系。
关系属于Map集合中的一个内部事物。
而且该事物在直接访问Map集合中的元素。
对学生对象的年龄进行升序排序。
import java.util.*;
class StuNameComparator implementsComparator
{
publicint compare(Student s1,Student s2)
{
intnum = s1.getName().compareTo(s2.getName());
if(num==0)
returnnew Integer(s1.getAge()).compareTo(new Integer(s2.getAge()));
returnnum;
}
}
class MapTest2
{
publicstatic void main(String[] args)
{
TreeMap
tm.put(newStudent("blisi3",23),"nanjing");
tm.put(newStudent("lisi1",21),"beijing");
tm.put(newStudent("alisi4",24),"wuhan");
tm.put(newStudent("lisi1",21),"tianjin");
tm.put(newStudent("lisi2",22),"shanghai");
Set
Iterator
while(it.hasNext())
{
Map.Entry
Studentstu = me.getKey();
Stringaddr = me.getValue();
System.out.println(stu+":::"+addr);
}
}
}
集合框架的工具类。
Collections:集合框架的工具类。里面定义的都是静态方法。
Collections和Collection的区别是:
Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。
它有两个常用的子接口,
List:对元素都有定义索引。有序的。可以重复元素。
Set:不可以重复元素。无序。
Collections是集合框架中的一个工具类。该类中的方法都是静态的
提供的方法中有可以对list集合进行排序,二分查找等方法。
通常常用的集合都是线程不安全的。因为要提高效率。
如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。
集合变数组。
Collection接口中的toArray方法。
import java.util.*;
class CollectionToArray
{
publicstatic void main(String[] args)
{
ArrayList
al.add("abc1");
al.add("abc2");
al.add("abc3");
//1,指定类型的数组的长度:
//当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组。//长度为集合的size。
// 当指定类型的数组长度大于了集合的size,就不会新创建了数组。而是使用传递进//来的数组。
// 所以创建一个刚刚好的数组最优。
// 2,为什么要将集合变数组?
// 为了限定对元素的操作。不需要进行增删了。
String[]arr = al.toArray(new String[al.size()]);
System.out.println(Arrays.toString(arr));
}
}
---------------------------------------------------------------------------------------------
System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
描述系统一些信息。
获取系统属性信息:PropertiesgetProperties();
import java.util.*;
class SystemDemo
{
publicstatic void main(String[] args)
{
Propertiesprop = System.getProperties();
//