Java课后总结14(集合框架)

集合框架

Java集合框架提供了一套性能优良、使用方便的接口。(注:都在Java.util包中)

接口:Iterator(迭代),CollectionListSetMap   (注:其中List与Set都是继承Collection)

实现类:(1)List接口的实现类有:ArrayList LinkedList

             (2)Set接口的实现类有:HashSet,TreeSet

             (3)Map接口的实现类有:HashMap,TreeMap

实用工具类: Collections,Arrays

各个接口的存储特性:Collection:存储一组不唯一,无序的对象 

                                  List:接口存储一组不维一,有序(插入顺序)的对象        

                                  Set接口存储一组维一,无序的对象   

                                 Map:接口存储一组键值对象,提供key到value的映射

ArrayList集合类   不维一,有序

ArrayList newList=new ArrayList();     //实例化一个ArrayList     (注:实例要导包)

newList.add(news1);     //给集合内添加一个对象

System.out.println(newList.size());      //输出该集合的长度

for (int i = 0; i < newList.size(); i++) {     //遍历集合
News biaoTi=(News)newList.get(i);    //因为遍历出来的是Object对象,所以要强制类型转换
  System.out.println(biaoTi.getTitle());      
}

LinkedList集合类   不维一,有序

LinkedList newList=new LinkedList();     //实例化一个LinkedList     (注:实例要导包)

newList.add(news1);     //给集合内添加一个对象

newList.addFirst(news3);  //把给对象放到集合的第一位

newList.addLast(news2);  //把给对象放到集合的最后一位

newList.remove(news1);  //删除集合中的某一个对象

(注:ArrayList与LinkeList比较:ArrayList集合在查询集合内对象比较方便,LinkeList集合在插入与删除集合内对象时对集合内其他对象影响较小;)

Set 接口 实现类是HashSet  (维一,无序)

Set s=new HashSet();    //实例化一个set的集合对象  (注:实例要导包)

s.add(news1);          //给集合内添加一个对象

注:因为Set接口存储的对象的无序的,不能用下标遍历,所以遍历Set集合只能用:”增强型for“和“Iterator迭代”。

增强型for for (Object obj : s) {         //Object :遍历的对象类型   obj:对象名    s:Set集合名
News biaoTi=(News)obj;      //把原类型为Object的obj强制转换为News的对象
System.out.println(biaoTi.getTitle());

}


Iterator迭代器遍历:

Iterator的方法:boolean hasNext();   //判断集合里是否存在另一个可访问的元素,返回ture或false 

                         Object next();   //返回要访问的下一个元素

Iterator it=s.iterator();   //获得迭代器   迭代器名:it (注:获取要导Iterator 的包)

while(it.hasNext()) {                     //利用循环,判断集合是否还有下个元素,返回ture,继续循环,返回false则退出循环
News biaoTi=(News)it.next();     //因为it.next();是object类型的,需要强制转换。
System.out.println(biaoTi.getTitle());     //遍历输出Set集合里每一个对象中的属性

}

Map接口

Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作。

Map接口最常用的实现类的HashMap;(key ;value)

 Map map=new HashMap();     //实例一个MAP集合 (注:实例要导包)

map.put("CN","中国" );        //集合里添加一个键值对   ;"CN"=key(键),"中国"=value(值)

String cn1=(String)map.get("CN")   //通过键获取相对应的值,,需要强制转换

System.out.println(cn1);      //输出值

map.clear();         //清空集合中的键值对

泛型

将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。(参数化类型)

如:Student stu1=new Student("小明","男");

        Map<String,Student> map=new HashMap<String, Student>();

           map.put("ming", stu1);

            for (String s : map.keySet() ){
System.out.println(s+"对应的学员姓名是"+map.get(s).getName()+"学员性别是:"+map.get(s).getSex());
}

猜你喜欢

转载自blog.csdn.net/hmh9527/article/details/80030605