java入门第三季(四、Java中的集合框架)

一、Java中的集合类:是一种工具类,就像容器。储存任意数量的具有共同属性的对象

1、集合的作用:在类的内部,对数据进行组织;

      简单而快速的搜索大数量的条目;

      有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;

                              有的集合接口,提供了映射关系,可通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

2、与数组对比:(1)数组长度固定,集合长度可变;

                              (2)数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。

3、Java集合框架体系结构

    Collection:List(序列)——ArrayList(数组序列)、LinkedList(链表)

                          Queue(队列)——LinkedList(链表)

                          Set(集)——HashSet(哈希集)

    Map:HashMap         <Key,Value> Entry(键值对)

    Collection和Map是java集合框架中的两个根接口。

    List和Queue存储的元素是排列有序并可重复的,Set中的元素是无序不可重复的。

    每一个Collection类中存储的是一个一个的对象;Map内部存储的是键值对。

二、Collection接口&List接口简介

Collection接口:是List、Set和Queue接口的父接口

                              定义了可用于操作List、Set和Queue的方法——增删改查

List接口以及其实现类——ArrayList:

    List是元素有序并且可以重复的集合,被称为序列;

    List可以精确的控制每个元素的位置,或删除某个位置元素;

    ArrayList——数组序列,是List的一个重要实现类;

    ArrayList底层是由数组实现的。

Set接口以及其实现类——HashSet:

    Set是元素无序并且不可以重复的集合,被称为集;

    HashSet——哈希集,是Set的一个重要实现类。

四、、泛型

对象存入集合都变成Object类型,取出时需要类型转换。例:

Course temp = (Course)CoursesToSelect.get(0);

集合中的元素,可以是任意类型的对象(对象的引用),如果把某个对象放入集合,则会忽略他的类型,而把他当作Object处理。

泛型则是规定了某个集合只可以存放特定类型的对象,会在编译期间进行类型检查,可以直接按指定类型获取集合元素。不能是基本类型,必须是引用类型。

                  例如:public List<Course> couorses;

                  带有泛型——Course的List类型属性。

        List<Course> courses = new ArrayList<course>();

五、Map和HashMap

1、Map接口:提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value。

                          键(key值)不可重复,value值可以。

                         Map支持泛型,如Map<K,V>

2、HashMap类

Map的实现类,其中的Entry对象是无序排列的;

key值和value值均可为null,但一个HashMap只能有一个key值为null的映射。

六、List的contains方法、Set的contains方法

        调用contains(obj)方法,其实就是相当于遍历List中的每一个元素,然后再调用每个元素的equals(obj)方法,去跟contains(obj)方法中的参数进行比较。

        在Object中定义了equals(Object obj)方法和hashCode()方法,当调用HashSet的contains(obj)方法时,其实是先调用每个元素的hashCode()方法来返回哈希码,如果哈希码的值相等的情况下,再调用equals(obj)方法判断是否相等。

七、

indexof()方法

lastIndexOf()方法

Collection.sort()方法——排序

排列顺序:数字:0—9

                    大写字母:A-Z

                    小写字母:a-z

Comparable接口——默认比较规则

         ——compareTo()方法

Comparator接口——临时比较规则

         ——compare()方法


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值