黑马程序员技术交流社区

标题: 14天:集合框架 [打印本页]

作者: zooooolk    时间: 2015-3-18 21:28
标题: 14天:集合框架
1.体系概述
2.共性方法
    集合中存储的都是对象的引用(地址)
    添加:add
    删除:remove
    清空:clear
    获取长度:size
    判断:contains 是否包含
                isEmpty 是否为空
    retainAll 取交集
3.迭代器
    获取迭代器:Iterator.next
4.List集合共性方法
    特点:
        List:元素是有序的,元素可以重复。因为该集合体系有索引。
        Set:元素是无序的,不可以重复。
    主要方法:
        增:add(index,element);
                addAll(index,Collection);
        删:remove(index);
        改:set(index,element);
        查:get(index);
                subList(from,to);
                listIterator();
5.ListIterator 列表迭代器
    是Iterator的子接口,针对在迭代时不可以通过集合对象的方法操作集合中的元素,会引发并发异常的情况使用列表迭代器。
6.List集合具体对象的特点
    ArrayList:底层的数据结构使用的是数组结构。特点:查询数据很快,增删稍慢。线程不同步。
    LinkedList:底层使用的是链表数据结构。特点:查询慢,增删快。
    Vector:底层是数组数据结构。线程同步。增删都慢,被ArrayList替代了。
7.Vector中的枚举
    Vector特有的取出方式:枚举
    枚举被迭代取代
8.LinkedList
    add/get/removeFirst();add/get/removeLast();
    JDK1.6之后出现
        offerFirst();offerLast();添加
        peekFirst();peekLast();获取
        pollFirst();pollLast();查找删除
9.LinkedList练习
    使用LinkedList模拟一个堆栈或者队列数据结构
        堆栈:先进后出
        队列:先进先出
10.ArrayList练习
    去除ArrayList集合中的重复元素
        定义一个临时容器
        遍历ArrayList集合中的元素
        判断元素是否在新容器中,不存在就添加到新容器中
11.ArrayList练习2
    将自定义对象作为元素存储到ArrayList集合中,并去除重复元素。比如存人对象,同姓名同年龄视为同一个人,为重复元素。
        对人描述,封装成对象
        定义容器,将人存入
        取出
12.HashSet
13.HashSet存储自定义对象
    HashSet是如何保证元素唯一性的呢?
        是通过元素的两个方法,hashCode和equals来完成
        如果元素的hashCode值相同才会判断equals是否为true。
        如果元素的hashCode值不相同,不会调用equals。
14.HashSet判断和删除的依据
    对于判断元素是否存在以及删除等操作,依赖的方法是元素的hashCode和equals方法。


   





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2