zoukankan      html  css  js  c++  java
  • 集合框架

        掌握集合框架包含的内容

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

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

    Collection

    u ListArrayListLinkedList

    u SetHashSetTreeSet

    Map

    u HashMap

    u TreeMap

    集合框架的优点?

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

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

        掌握ArrayListLinkedList的使用

    常用方法【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)共有的方法

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

                         添加:addFirst()、addLast();

                         删除:removeFirst()、 removeLast();

                         获取:getFirst()、getLast()

    ArrayListLinkedList的异同点?

    相同点:

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

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

    不同点:

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

    u 效率侧重点不同: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);

           ……….编写其他代码

    }

  • 相关阅读:
    依赖注入
    Java实现一个字符串的反转
    LRU缓存介绍与实现 (Java)
    Java中HashMap遍历的两种方法(转)
    java中判断字符串是否为只包含数字
    LeakCanary 的使用遇到的弯路
    转: BAT等研发团队的技术博客
    转: android 内存检测工具 LeakCanary 说明
    转:安桌开发开源库的推荐1
    转: 技术牛人博客
  • 原文地址:https://www.cnblogs.com/wanmeide/p/6860659.html
Copyright © 2011-2022 走看看