集合框架和泛型(二)

本课目标

掌握 Map 集合存储数据的用法

理解泛型的相关概念

掌握泛型集合的用法

掌握 Collections 的用法

一、Map接口

集合框架和泛型(二)_第1张图片

  • Map 接口存储一组键值对象,提供 Key 到 value 的映射
  • Map 接口常用的实现类 HashMap
  • HashMap 类的特点:1.不保证映射的顺序,特别是不保证顺序恒久不变

                                          2.数据添加到HashMap集合后,所有数据的数据类型将转换为Object类型,所以从其中获取数据时需要进行强制类型转换。

Map接口的常用方法(非全部)

集合框架和泛型(二)_第2张图片

遍历HashMap 的键值和值集的方法:

增强型for循环、迭代器Iterator 、遍历值集

public class Penguin {
    public static void main(String[] args) {
        Map map = new HashMap<>();
        map.put("亚亚","Q妹");
        map.put("菲菲","Q妹");
        map.put("欧欧","Q仔");
        map.put("美美","Q妹");
        //增强型for循环
        Set keys = map.keySet();
        for (String key : keys) {
            System.out.println(key + "\t\t" + map.get(key));
        }
        System.out.println();
        for (Map.Entry entry : map.entrySet()) {
            String k = entry.getKey();
            String v = entry.getValue();
            System.out.println(k + "\t\t" + v);
        }
        System.out.println("******************************");
        //Lambda表达式
        map.forEach((k,v)-> {
            System.out.println(k +"\t\t"+ v);
        });
        //迭代器Iterator
        Set a = map.keySet();
        Iterator iterator = a.iterator();
        while (iterator.hasNext()) {
            System.out.println(map.get(iterator.next()) );
        }

    }
}

增强型for循环

Set keys = map.keySet();
        for (String key : keys) {
            System.out.println(key + "\t\t" + map.get(key));
        }

迭代器Iterator

Set a = map.keySet();
        Iterator iterator = a.iterator();
        while (iterator.hasNext()) {
            System.out.println(map.get(iterator.next()) );
        }

Lambda 表达式

map.forEach((k,v)-> {
            System.out.println(k +"\t\t"+ v);
        });

二、泛型

  • 泛型的本质是参数化类型:将所操作的数据类型指定为一个参数,使代码可以应用于多种类型
  • 泛型的定义:将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性
  • 泛型的优点:所有强制转换都是自动和隐式进行的,安全简单

                            提高了代码的重用率

  • 泛型集合的优点:存储数据时进行严格类型审查,确保只有合适类型的对象才能存储在集合中

                                    从集合中检索对象时,减少了强制类型转换

三、Collections 算法类

  • Collections 类是Java提供的一个集合操作工具类
  • Collections 类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排查、查找和替换等操作
  • Collections 和 Collection 是不同的,前者是集合的操作类,后者是集合接口
1.Collections 常用方法
  • sort() :排序
  • binarySearch() :查找
  • max() / min() :查找最大/最小值
2.Collections 排序

集合框架和泛型(二)_第3张图片

集合框架和泛型(二)_第4张图片

你可能感兴趣的:(Java高级特性,java,开发语言)