IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java集合框架中Collection及Map接口介绍 -> 正文阅读

[Java知识库]Java集合框架中Collection及Map接口介绍


Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 和其实现类 classes 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate ,即平时我们俗称的 增删查改 CRUD


一、类和接口总览

在这里插入图片描述
上图中最左边部分从上往下依次为:接口、抽象类、具体的实现类。

中间部分:
Iterable:迭代器。相当于for-each()
Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素elements

  1. Set : 元素不能重复,背后隐含着查找/搜索的语义。
  2. SortedSet : 一组有序的不能重复的元素
  3. List : 线性结构。
  4. Queue : 队列。
  5. Deque : 双端队列。

右边部分:

  1. Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义。
  2. SortedMap : 一组有序的键值对。

二、Collection接口常用方法说明

2.1将元素放到集合中add

boolean add(E e) //将元素 e 放入集合中

示例:

public static void main(String[] args) {
        //<>表示泛型
        Collection<String> collection = new ArrayList<String>();
        collection.add("hello");//将元素放入到集合中
//        collection.add(1);
        //<>里面的类型一定要是 类类型,不能是简单的基本类型
        Collection<Integer> collection2 = new ArrayList<Integer>();
        collection2.add(1);
        collection2.add(2);
        collection2.add(3);
    }

2.2 删除集合中的所有元素clear()

void clear() //删除集合中的所有元素

2.3判断集合是否没有任何元素isEmpty()

boolean isEmpty() //判断集合是否没有任何元素,俗称空集合

2.4 删除集合中元素remove()

boolean remove(Object e) //如果元素 e 出现在集合中,删除其中一个

2.5 判断集合中元素个数size()

int size() //返回集合中的元素个数

2.6 返回一个装有所有集合中元素的数组

Object[] toArray() //返回一个装有所有集合中元素的数组

示例:

public static void main(String[] args) {
        Collection<String> collection = new ArrayList<String>();
        collection.add("hello");
        collection.add("world");
        System.out.println(collection);//[hello, world]
        System.out.println(collection.size());//返回集合中的元素个数 2
       /* collection.clear();//删除集合中的所有元素
        System.out.println(collection);
        System.out.println(collection.isEmpty());*/ //true
        Object[] objects = collection.toArray();
        System.out.println(Arrays.toString(objects));//[hello,world]
    }

三、Map接口常用方法说明

3.1 根据指定的k查找对应的v(get)

方式一:

V get(Object k) //根据指定的 k 查找对应的 v

方式二:

V getOrDefault(Object k, V defaultValue) //根据指定的 k 查找对应的 v,没有找到用默认值代替

3.2 将指定的 k-v 放入Map(put)

V put(K key, V value) //将指定的 k-v 放入 Map

3.3 判断是否包含key(containskey)

boolean containskey(object key) //判断是否包含key

3.4 判断是否包含value(containsvalue)

boolean containsvalue(object value) //判断是否包含value

3.5 判断是否为空 isEmpty()

boolean isEmpty() //判断是否为空

3.6 返回键值对的数量size()

int size() //返回键值对的数量

示例:

  public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
//        Map<String,String> map2 = new TreeMap<>();
        map.put("你是","you are");
        map.put("及时雨","松江");
        String ret = map.get("你是");//根据key值获取val值
        String ret2 = map.getOrDefault("你是","谁");//根据key值获取val值
        //如果key值有的话,则返回对应key值的val,如果key值没有,则返回getOrDefault中得val  上面代码返回的值是you are
        // String ret2 = map.getOrDefault("你是2","谁"); //谁
        System.out.println(ret);//you are
        System.out.println(ret2);//you are
        boolean flg = map.containsKey("你是");
        System.out.println(flg);//true
        boolean flg2 = map.containsValue("宋江");
        System.out.println(flg2);//false
        boolean flg3 = map.isEmpty();
        System.out.println(flg3);//false
        System.out.println(map.size());//2
    }

3.7 将所有键值对返回entrySet()

Set<Map.Entry<K, V>> entrySet() //将所有键值对返回

示例:

 public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();//没有比较
        //Map<Integer,String> map = new TreeMap<>();//进行比较了
        map.put("你是","you are");
        map.put("及时雨","宋江");
        System.out.println(map);
        System.out.println("=============");
        Set<Map.Entry<String,String>> entrySet = map.entrySet();
        for (Map.Entry<String,String> entry:entrySet) {
            System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
        }
    }

以上。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 12:54:30  更:2021-12-03 12:54:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:38:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码