第六章 集合框架

概念:集合框架是为表示和操作集合而规定的一种统一的标准体系结构

主要包括:接口,实现,算法

  1. Collection接口:存储允许重复,无序的对象

List(继承Collection接口)

用来存储允许重复,有序(以元素插入的顺序来放置)的对象

1.ArrayList

长度可变的数组,存储方式与数组相同,遍历元素和随机访问元素的效率比较高

例:List a =new ArrayList(); / ArrayList a=new ArrayList();

常见方法:

方法名称说明
boolean add(Object o);依次插入元素,索引从0开始
void add(int index, Object o)在指定位置添加元素
int size()获取集合的长度/返回列表中元素的个数
Object get (int index)查看指定索引的元素,使用前需要进行强制转换
boolean contains(Object o)判断是否存在指定元素
boolean remove(Object o)移除指定元素
Object remove(int index)移除指定索引的元素

2.LinkedList

采用链表存储方式,插入,删除元素时效率比较高

例:List a=new LinkedList(); / LinkedList a=new LinkedList();

常见方法:

方法名称说明
void addFirst(Object o);列表首部添加元素
void addLast(Object o)列表尾部添加元素
int size()获取集合的长度/返回列表中元素的个数
Object getFirst()返回列表中的第一个元素
Object getLast()返回列表中的最后一个元素
Object removeFirst()删除并返回列表中的第一个元素
Object removeLast()删除并返回列表中的最后一个元素

Map

存储键-值映射的数据,无序,,键(key)的值不可以重复,value的值可以重复

HashMap

例:Map countries =new HashMap();

方法名称说明
Object put(Object key, Object value)"键--值对"的方式进行存储,,如果添加重复的键,后添加的数据会吧前面的覆盖掉
Object get(Object key)根据键返回相关联的值,若不存在指定的键,返回null
Object remove(Object key)删除指定的键映射的 键--值对
int size()返回元素的个数
Set keySet()返回键的集合
Collection values ()返回值的集合
boolean containsKey(Object key)是否存在指定的键,true/false
boolean isEmpty()键值对为null,,返回true
void clear()清空所有键值对

迭代器Iterator

为实现集合的遍历

Iterator 接口的方法实现遍历:

  1. boolean hasNext():判断是否存在另一个可访问的元素

  2. Object Next():返回要访问的下一个元素

例:

        /**     
         * 使用迭代器输出狗狗的信息
         */
        Set keys=dogs.keySet(); //取出key集合
        Iterator it=keys.iterator(); //获取迭代器iterator对象
        while (it.hasNext()) { 
            String key=(String) it.next();//取
            Dog dog=(Dog) dogs.get(key);//根据key取出相应的值
            System.out.println(key+"   "+dog.getStrain());
        }

foreach

声明:for(元素类型 变量名 : 集合对象)

例:

for (Object key : keys) {
            Dog dog=(Dog) dogs.get(key);
            System.out.println(key+"   "+dog.getStrain());
        }

泛型集合

创建集合对象时指定集合中的元素类型,在集合中取出元素时无需进行强制转换,避免了类转换异常(ClassCastException)

例:List<Dog> dogs=new ArrayList<Dog>();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值