JAVA的高级特性——集合框架

为什么使用集合框架

           如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架

Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

集合的框架包含的内容

  

 Collection接口存储一组不唯一,无序的对象
List接口存储一组不唯一,有序的(插入顺序)的对象
Set接口存出一组1唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射

Set接口
Set接口存储一组唯一,无序的对象
HashSet是Set接口常用的实现类
Set中存放对象的引用
集合框架有何好处
①可改变长度的数组
②可以通过size()方法获取非null对象个数
③插入add()、删除remove()、遍历、查询对象get(index)时,减少代码量

ArrayList和LinkedList区别

  1:存储方式

    ①ArrayList:长度可变的数组,存储空间连续

    ②LinkedList集合:链表式结构存储

  2:执行效率

    ①ArrayList:遍历和随机访问效率高

    ②LinkedList集合:插入和删除效率高

List常用方法

 LinkedList的特殊方法

Map接口

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

最常用的实现类是HashMap

迭代器Iterator

  通过迭代器Iterator实现遍历获取Iterator :Collection 接口的iterator()方法

  案例


@Test
 public void test04(){
     Dog ouou = new Dog("ouou","雪纳瑞");
     Dog yaya = new Dog("yaya","拉布拉多");
     Dog feifei = new Dog("feifei","哈士奇");
     Dog meimei = new Dog("meimei","吉娃娃");
  
     Map map = new HashMap();
     map.put(ouou.getName(), ouou);
     map.put(yaya.getName(), yaya);
     map.put(feifei.getName(), feifei);
     map.put(meimei.getName(), meimei);
   
     Set keySet = map.keySet();
     Iterator it = keySet.iterator();
     while(it.hasNext()){
     String key = (String )it.next();
     Dog  dog =(Dog) map.get(key);
     System.out.println(dog.getName()+" "+dog.getStrain());
   }


增强for循环

  语法:for(元素类型t  元素变量x : 数组或集合对象){
         引用了x的java语句
         } 

案例:



 @Test
 public void test04(){
     Dog ouou = new Dog("ouou","雪纳瑞");
   Dog yaya = new Dog("yaya","拉布拉多");
   Dog feifei = new Dog("feifei","哈士奇");
   Dog meimei = new Dog("meimei","吉娃娃");
  
   Map map = new HashMap();
   map.put(ouou.getName(), ouou);
   map.put(yaya.getName(), yaya);
   map.put(feifei.getName(), feifei);
   map.put(meimei.getName(), meimei);
   
   Set keySet = map.keySet();
  
   System.out.println("***********");
   for( Object  key :  keySet){    
    Dog  dog =(Dog) map.get(key);
    System.out.println(dog.getName()+" "+dog.getStrain());
   }
  
 }


原文地址:https://www.cnblogs.com/li-ding-yong/p/13054443.html