Java基础知识总结7

1.集合类

java.until包中提供了一些集合类,这些集合类又被称为容器。

集合类与数组的不同之处是:数组的长度是固定的,集合的长度是可变的;数组用来存放基本类型的数据,集合用来存放对象的引用。

常用集合有List集合、Set集合、Map集合,其中List与Set继承Collection接口

2.Collection接口

Collection接口是层次结构中的根接口。

构成Collection的单位称为元素

Collection接口通常不能直接使用,但该接口提供了添加元素、删除元素、管理数据的方法

方法

功能描述

add(E e)将指定对象添加到该集合中
remove(Object  o)将指定的对象从该集合中移除
isEmpty()返回boolean值 , 用于判断当前接口集合是否为空
iterator()返回在此Collection的元素上进行迭代的迭代器,用于遍历集合中的对象
size()返回int型值 , 获取该集合中元素的个数

例子:

public class test01 {
    public static void main(String[] args) {
//        实例化集合类对象
        ArrayList<Object> arrayList = new ArrayList<>();
//        向集合内添加数据
        arrayList.add("a");
        arrayList.add("d");
        arrayList.add("d");
//        创建迭代器
        Iterator<Object> iterator = arrayList.iterator();
//        判断集合内是否还有下一个元素
        while(iterator.hasNext()){
//            获取集合中的元素,输出
            Object next = iterator.next();
            System.out.println(next);
        }

    }
}

3.List集合

List结合中包括List接口以及List接口的所有实现类。

List集合中的元素允许重复,各元素的顺序就是对象插入的顺序,类似于Java数组,用户可以通过索引来访问集合中的元素

3.1List接口

List接口继承了Collection接口

两个非常重要的方法

get(int index) :获得指定索引位置的元素

set(int index , Object obj) : 将集合中指定索引位置的对象修改为指定为的对象

3.2List接口的实现类

ArrayList 类实现了可变的数组,允许保存所有的元素 , 包括null , 并可以根据索引位置对集合进行随机访问;缺点是向指定的索引位置插入对象或者删除对象的速度较慢。

LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较低。

3.3Set集合

Set集合中的对象不按特定的方式排序 , 只是简单地把对象加入集合中,但Set集合中不能包含重复对象。

Set集合由Set接口和Set接口地实现类组成,Set继承了Collection接口的所有方法

Set接口常用的实现类有HashSet类与TreeSet类

HashSet类实现Set接口 , 由哈希表(实际上是一个HasMap实例)支持。不保证Set的迭代顺序,特别是它不保证该顺序恒久不变。此类不允许null元素

TreeSet类不仅实现了Set接口,还实现了java.util.SorteSet接口,因此,TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,也可以通过比较器对用TreeSet类实现的Set集合中的对象进行排序

TreeSet类新增的方法

方法功能描述
first()返回此set中当前第一个(最低)元素
last()返回此set中当前最后一个(最高)元素
comparator()返回对此Set中的元素进行排序的比较器。如果此set使用自然排序,则返回null
headSet(E toElement)返回一个新的Set集合,新集合是toElement(不包含)之前的所有对象
subSet(E fromElement,E fromElement)返回一个新的Set集合 , 是fromElement(包含)对象与fromElement(不包含)对象之间的所有对象
tailSet(E fromElement)返回一个新的Set集合,新集合包括fromElement(包含)之后的所有对象

4.Map集合

Map集合没有继承Collection接口 , 其提供的是key到value的映射。

Map中不能包含相同的key,每个key只能映射一个value。

key还决定了存储对象在映射中的存储位置,但不是由key对象本身决定的,而是通过一种”散列技术“进行处理,产生一个散列码的整数值,从而确定存储对象在映射中的存储位置。

4.1Map接口

方法功能描述
put(K key ,V value)向集合中添加指定的key与value的映射关系
containsKey(Object key)如果此映射包含指定key的映射关系,则返回true
containsValue(Object value)如果此映射将一个或者多个key映射到指定值,则返回true
get(Object key)如果存在指定的key对象,则返回该对象对应的值,否则返回null
keySet()返回该集合中的所有key对象形成的Set集合
values()返回该集合中所有值对象形成的Collection集合

 注:Map集合中允许值对象是null , 而且没有个数限制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值