第十五章、java集合框架

javaSE包含了一组由类和接口组成的java集合框架(Java Collections Framework简称JCE),其目的是处理对象集合的通用框架,减少程序员的代码量
  被添加到集合中的对象称为一个元素
对象的存储方式有三种:set(集)、list(列表)、map(映射),这几个接口都继承自Collection接口,所以拥有Collection接口的所有方法,它们的详细情况如下:

  List 接口
 
 List 接口三个常用的接口的应用顺序:LinkedList > ArrayList > Vector(线程比较安全。但性能没有ArrayList好)

其特点:有重复的元素,有顺序、它的实现类通常支持null元素、通过索引访问list对象容器中的元素
 
其应用形式:
       List list = new ArrayList();//List的标准定义
             
  list.add(1);
  list.add(1);
  list.add(2);
  list.add("3");
  list.add('4');
  list.add(new Object());
  System.out.println("集合长度:"+list.size());
              //遍历的过程,即得到元素
  for(int i=0; i
   System.out.println("第"+(i+1)+"个元素是:"+list.get(i));
  }

Set接口 

其特点:没有重复的元素,没有顺序
 
Set set = new HashSet();//Set的标准定义,HashSet()方法速度快但不排序,TreeSet()方法速度慢但可以排序 
 //添加元素
 set.add(1);
 set.add(1);
 set.add('4');
 Object obj = new Object();//有new就会创建一个新对象
 set.add(obj);
 set.add(obj);
 System.out.println("SET集合的长度:"+set.size());
 Iterator ite = set.iterator();//迭代器
        //遍历的过程,即得到元素
while(ite.hasNext()){
 System.out.println(ite.next());//得到元素
  }
Set ks = map.keySet();
  Iterator ite = ks.iterator();//迭代器
                    //遍历的过程,即得到元素
  while(ite.hasNext()){
   Object obj = ite.next();//得到返回的数据的元素
   System.out.println(obj+"---"+map.get(obj));
  }
  


Map接口 
其特点:其属于是键(key)到值(value)的对应关系的集合,键(key)不可以重复,值(value)可以重复,

在HashMap中通过get()来获取value,通过put()来插入value
例如:
  Map map = new HashMap();//Map的标准定义
                      //添加元素  
  map.put(1(键(key)), 1(值(value)));
  map.put(1, 2);
  map.put(2, 2);
  map.put(3, "3");
  map.put(4, '4');
  map.put(5, new Object());
  map.put("晓丽", '4');
                //得到元素
  System.out.println(map.size());//得到集合长度
  System.out.println(map.get("晓丽"));//得到晓丽的数据
泛型

   可以定义类、接口的的数据类型定义之后只能添加定义的数据类型的值,例如:

  Listlist = new ArrayList();//泛型的标准定义
                     //添加定义后泛型后的元素
  list.add(new NewStudent(8));
  list.add(new NewStudent(10));
  list.add(new NewStudent(12));
    int s=list.size();//得到集合长度

                  //遍历的过程,即得到元素
  for(int i = 0 ; ilist.size();i++){
 System.out.println("第"+(i+1)+"个元素是:"+list.get(i));
}

Collections工具类和Arrays类

Collection工具类其中包含了很多操作,这些操作包括对元素进行排序、查询、修改等,这些方法都是静态的
Arrays类包含用来操作数组(比如排序和搜索)的各种方法
 

         List li=new ArrayList();
  li.add("a");
  li.add("f");
  li.add("b");
  System.out.println(li);//得到值的集合[a, f, b]

                 SortedSet接口为set类型容器提供了排序功能
                 SortedMap接口为map类型容器提供了对键排序功能
  Collections.sort(li);//排序操作

  for(Object o:li){//foreach循环,相对于for循环来说比较简单
   System.out.println(o);//得到排序后的结果a b f
  }

排序: Comparable Comparator Collections.sort()

 

 

posted on 2014-04-24 11:03  smile小红帽  阅读(165)  评论(0编辑  收藏  举报