2月15号学习笔记

HashSet集合保证元素唯一性

存入的元素和以前的元素比较哈希值

如果哈希值不同,会继续向下执行,把元素添加到集合

如果哈希值相同,会调用对象的equals()方法比较

                如果返回false,会继续向下执行,把元素添加的集合

                如果返回true,说明元素重复,不存储

要保证元素唯一性,需要重写hashCode()和equals()

LinkedHashSet集合概述和特点

1 哈希表和链表实现的Set接口,具有可预测的迭代次序

2 由链表保证元素有序,也就是说元素的存储和取出顺序是一致的

3 由哈希表保证元素唯一,也就是说没有重复元素

TreeSet集合特点

1 元素有序:这里的顺序不是指存储和取出的顺序,而是按照一定规则进行排序,具体排序方式取决于构造方法

        TreeSet():根据元素的自然排序进行排序

TreeSet(Comparator comparator):根据指定的比较器进行排序

2 没有带索引的方法,所以不能使用for循环遍历

3 由于是Set集合,所以不包含重复元素的集合

泛型

<类型>:制定一种类型的格式,这里的类型可以看做形参

<类型1,类型2,。。。>:指多种类型的格式,多种类型之间用逗号隔开,这里的类型可以看做形参

将来具体调用的时候给定的类型可以看做实参,而且实参的类型只能是引用数据类型

格式:

修饰符 class 类名<类型>{}

泛型方法

格式

修饰符<类型>返回值类型 方法名(类型 变量名){}

类型通配符:<?>

List<?>:表示元素类型未知的List,他的元素可以匹配任何类型

这种带同佩服的List仅表示它是各种泛型List的父类,并不能把元素添加到其中

类型通配符上限:<? extends 类型>

List<? extends Number>:它表示的类型是Number或者其子类型

类型通配符下限:<? super 类型>

List<? super Number>:它表示的类型是Number或者其父类型

可变参数

格式

修饰符 返回值类型 方法名(数据类型...变量名){}

注意事项:

1  这里的变量其实是个数组

2  如果一个方法有多个参数,包含可变参数,可变参数要放到最后

可变参数的使用

Arrays工具类中有一个静态方法

public static <T> List<T> asList(T...a):返回由指定数组支持的固定大小的列表

返回的集合不能做增删操作,可以做修改操作

List接口中有一个静态方法

public static <E> List<E> of(E...elements):返回包含任意数量元素的不可变列表

Set接口中有一个静态方法

public static <E>Set<E> of(E...elements):返回包含一个任意数量元素的不可变集合

Map集合

Interface Map<键的类型,值的类型>

将键具体映射到值的对象;不能包含重复的键;每个键可以最多映射到一个值

创建Map集合的对象

多态的方式

具体的实现类HashMap

Map集合的获取功能

        V get(Object key):根据键获取值

        Set<K> KeySet():获取所有键的集合

        Collection<V> values():获取所有值的集合

Map集合的遍历(方式1)

         1  获取所有键的集合,用keySet()方法实现

         2  遍历键的集合,获取到每一个键,用增强for实现

         3  根据键去找值,用get(Object key)方法实现   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值