• 集合框架


    集合框架包含的内容

    l  java中的集合,位于包java.util

    l  Java集合框架分为2大接口:

    n  Collection

    ListArrayListLinkedList

    SetHashSetTreeSet

    n  Map

    HashMap

    TreeMap

    l  集合框架的优点?

    解决数组的一些不足之处(存储数据类型单一、空间不可变,操作数据比较麻烦、性能低等),

    提供了一种标准的体系结构,方便快速高效操作集合数据

        掌握ArrayListLinkedList的使用

    l  常用方法【P170页的表7-1

    u 添加: add() 该方法重载2次

    ü boolean add(Object e);//保存任意数据类型的元素

    ü void add(int index,Object e) ;//在指定的下标处,添加任意数据类型的元素

    u 删除:remove() 该方法重载2次

    ü boolean remove(Object e);根据元素的值,删除

    ü Object remove(int  index);根据下标位置,删除

    u 获取元素:get(int  index)

    u 元素个数:size()

    u 判断某个元素是否存在:

    ü boolean contains(Object  e)

    以上方法,是实现了接口List的类(ArrayListLinkedList)共有的方法

    l  LinkedList特有的方法:P173页表7-2

                         添加:addFirst()、addLast();

                         删除:removeFirst()、 removeLast();

                         获取:getFirst()、getLast()

    l  ArrayListLinkedList的异同点?

    n  相同点:

    都实现了接口List,用来存储可重复,有序的对象

    操作数据(添加、删除、获取数据、判断等)的方法都相同

    n  不同点:

    存储方式不同:ArrayList和数组相同,在内存中分配连续的空间;而LinkedList采用链表方式存储数据

    效率侧重点不同:ArrayList在遍历和随机访问元素的效率较高;LinkedList在插入和删除数据效率较高

        掌握HashMap的使用

    l  位于包java.util,实现接口Map

    l  使用前,都要创建对象

    l  常用的方法:【P175页表7-3】

    n  添加:put(Object  key,Object  value)

    n  删除:remove(Object  key)

    n  获取值:get(Object  key)

    n  判断集合中是否存在某个键:containsKey(Object  key)

    n  集合中元素的个数:size()

    n  键的集合: keySet()

    n  值的集合:values();

    n  循环输出集合中的元素?——不能使用for循环

    u while+Iterator迭代器一起使用

    u foreach

        掌握Iterator的使用

    循环输出HashMap集合中的key(多个)和value

    方式1while+Iterator(参考代码示例5)

     

    Set 变量名 = HashMap类的对象. keySet();//key的集合

    Iterator 迭代器对象 = 变量名. iterator();

    while(迭代器对象.hasNext()){//判断集合中是否有元素

                  //得到一个key

                  Object key = HashMap类的对象.next();

                  //得到该key对应的value

                  Object value = HashMap类的对象.get(key);

                  ……………..编写其他代码

    }

       方式2:使用foreach循环(for循环的增强版)

      语法:

    for(数据类型变量名:数组名或集合名){

    }

    ü  单独输出键的集合[keySet()方法]

    for(Object  key : HashMap对象.keySet()){

           System.out.println(key);//每个键key的值

    }

    ü  单独输出值的集合(values()方法)

    for(Object  v : HashMap对象.values()){

           System.out.println(v);//每个键value的值

    }

    ü  通过key,输出对应的value

    for(Object key:HashMap对象.keySet()){

           Object value=HashMap对象.get(key);

           ……….编写其他代码

    }

    ²  VectorArrayList的异同点?【P171页对比】

    ²  HashMapHashtable的异同点?【P175页对比】

     

        掌握泛型集合的使用

    ü  泛型的优点:

    使用泛型,在定义集合时指定了具体的数据类型,从而保证向集合中添加元素确保类型是统一和安全的,提取和遍历集合中的元素时,不需要再进行额外的类型转换,一定程度上提高了程序的性能

    ü  从jdk1.5开始,集合框架都有相应的泛型版本

    ü  常用的泛型集合

    n  ArrayList<数据类型>、LinkedList<数据类型>、Vector<数据类型>

    n  HashMap<数据类型,数据类型>、Hashtable<数据类型,数据类型>

    n  <数据类型>指的包装类:

    u  int——>Integer     char——>Character

    u  float——>Float     double——>Double

    u  boolean——>Boolean  short——>Short

    u  byte——>Byte      long——>Long

  • 相关阅读:
    第二次作业
    动手动脑
    第五周总结
    第四周总结
    二维数组
    返回一个整数数组中最大子数组的和---第一次完善
    第三周总结
    第二周进度
    自我介绍
    返回一个整数数组中最大子数组的和
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/6991127.html
Copyright © 2020-2023  润新知