您正在查看:标签 JAVA学习笔记 下的文章

Java中的Map集合、Collections集合工具类

今日总结

1 Map

​ Map 的体系结构和 Set 体系结构非常相似,Set 体系底层基本上使用都是 Map 体系

  • Set

    • HashSet

      • LinkedHashSet
    • TreeSet
  • Map

    • HashMap

      • LinkedHashMap
    • TreeMap

    对于Map来说,每种集合底层也使用了数据结构,但是其数据结构只针对键有效,对值无效

1.1 Map集合概述和特点

  • Map集合概述

    interface Map<K,V>  K:键的类型;V:值的类型
  • Map集合的特点

    • 键值对映射关系,键和值是一一对应的,一个键只能对应唯一的一个值
    • Map是一个双列集合,第一列是键,第二列值值,一个键对应一个值
    • 键不能重复,如果键重复,则值覆盖,只会保留一个相同的键,值可以重复
    • 元素存取无序

1.2 Map集合的常用方法

  • 常用方法

    方法名说明
    V put(K key,V value)添加元素
    V remove(Object key)根据键删除键值对元素
    void clear()移除所有的键值对元素
    boolean containsKey(Object key)判断集合是否包含指定的键
    boolean containsValue(Object value)判断集合是否包含指定的值
    boolean isEmpty()判断集合是否为空
    int size()集合的长度,也就是集合中键值对的个

1.3 Map集合的获取功能

  • 常用方法

    方法名说明
    V get(Object key)根据键获取值
    Set keySet()获取所有键的集合
    Collection values()获取所有值的集合
    Set<Map.Entry<K,V>> entrySet()获取所有键值对对象的集合

1.4 Map集合的遍历(方式1)

  • 遍历思路
  • 1.通过keySet()方法获取所有键的集合

    • 2.遍历集合,获取每一个键,可用增强for实现
    • 3.通过get(K k)根据键找对应的值

1.5 Map集合的遍历(方式2)

  • 遍历思路

    • 1.通过entrySet()方法获取所有的键值对对象(Entry)的集合

      • Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合
    • 2.遍历键值对对象的集合,得到每一个键值对对象

      • 用增强for实现,得到每一个Map.Entry
    • 3.根据键值对对象的getKey()和getValue分别获取键和值

      • 用getKey()得到键
      • 用getValue()得到值

2 Collections集合工具类

2.1 Collections概述和使用

  • Collections类的作用

    ​ 是针对集合操作的工具类

  • Collections类常用方法

    方法名说明
    public static void sort(List list)将指定的列表按升序排序
    public static void reverse(List<?> list)反转指定列表中元素的顺序
    public static void shuffle(List<?> list)使用默认的随机源随机排列指定的列表
  • Collection 和 Collections 的区别

    • Collection 是单列集合的顶层接口
    • Collections 是集合的工具类,里面提供了很多方便对集合进行操作的方法

Java中的Set集合,泛型,可变参数

今日总结

  • Set集合

    • HashSet

      • LinkedHashSet
    • TreeSet
  • 泛型
  • 可变参数

1 Set集合

1.1 体系

Collection

  • List

    • ArrayList
    • LinkedList
  • Set:存取无序,没有索引,不能存储重复元素

    • HashSet

      • LinkedHashSet
    • TreeSet

Set接口中没有特有方法,其中和Collection完全相同

1.2 哈希值

  • 哈希值

    ​ 是 JDK 根据对象的地址或者字符串或者数字算出来的 int 类型的数值

  • 如何获取哈希值

    ​ Object 类中的 public int hashCode():返回对象的哈希码值

  • 哈希值的特点

    • 同一个对象多次调用 hashCode() 方法返回的哈希值是相同的
    • 默认情况下,不同对象的哈希值是不同的。而重写 hashCode() 方法,可以实现让不同对象的哈希值相同。

1.3 HashSet集合

  • HashSet 集合的特点

    • 底层数据结构是哈希表
    • 对集合的迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致
    • 没有带索引的方法,所以不能使用普通 for 循环遍历
    • 由于是 Set 集合,所以是不包含重复元素的集合

- 阅读剩余部分 -

Java中的集合

1.Collection集合

1.1 集合体系结构

  • 集合类的特点

    ​ 提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变

  • 集合类的体系图

    01.png

1.2 Collection集合概述和基本使用

  • Collection 集合概述

    • 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
    • JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现
  • Collection 集合基本使用

    public class CollectionDemo01 {
        public static void main(String[] args) {
            //创建Collection集合的对象
            Collection<String> c = new ArrayList<String>();
    
            //添加元素:boolean add(E e)
            c.add("hello");
            c.add("world");
            c.add("java");
    
            //输出集合对象
            System.out.println(c);
        }
    }

- 阅读剩余部分 -

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5