集合框架及背后的数据结构

目录

介绍

官方教程

意义

Java 集合框架的优点及作用

  • 使用成熟的集合框架,有助于便捷、快速的写出高效、稳定的代码
  • 学习背后的数据结构知识,有助于理解各个集合的优缺点及使用场景

笔试及面试题

接口 interfaces

基本关系说明

Collection

Collection 官方文档

java 复制代码
import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
 
public class Demo {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        System.out.println(list.size());
        System.out.println(list.isEmpty());
        list.add("我");
        list.add("爱");
        list.add("Java");
        System.out.println(list.size());
        System.out.println(list.isEmpty());
        Object[] array = list.toArray();
        System.out.println(Arrays.toString(array));
        for (String s : list) {
            System.out.println(s);
       }
        list.remove("爱");
        for (String s : list) {
            System.out.println(s);
       }
        list.clear();
        System.out.println(list.size());
        System.out.println(list.isEmpty());
   }
  }

Map

java 复制代码
import java.util.Map;
import java.util.HashMap;
 
public class Demo {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        System.out.println(map.size());
        System.out.println(map.isEmpty());
        System.out.println(map.get("作者"));
        System.out.println(map.getOrDefault("作者", "佚名"));
        System.out.println(map.containsKey("作者"));
        System.out.println(map.containsValue("佚名"));
        map.put("作者", "鲁迅");
        map.put("标题", "狂人日记");
        map.put("发表时间", "1918年");
        System.out.println(map.size());
        System.out.println(map.isEmpty());
        System.out.println(map.get("作者"));
        System.out.println(map.getOrDefault("作者", "佚名"));
        System.out.println(map.containsKey("作者"));
        System.out.println(map.containsValue("佚名"));
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
       }
   }
}
相关推荐
早日退休!!!几秒前
进程与线程的上下文加载_保存及内存映射
开发语言
jllllyuz1 分钟前
MATLAB实现蜻蜓优化算法
开发语言·算法·matlab
冰暮流星17 分钟前
javascript逻辑运算符
开发语言·javascript·ecmascript
flysh0517 分钟前
如何利用 C# 内置的 Action 和 Func 委托
开发语言·c#
一嘴一个橘子22 分钟前
spring-aop 的 基础使用 - 4 - 环绕通知 @Around
java
小毅&Nora38 分钟前
【Java线程安全实战】⑨ CompletableFuture的高级用法:从基础到高阶,结合虚拟线程
java·线程安全·虚拟线程
码农小韩39 分钟前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
冰冰菜的扣jio39 分钟前
Redis缓存中三大问题——穿透、击穿、雪崩
java·redis·缓存
木风小助理40 分钟前
`mapfile`命令详解:Bash中高效的文本至数组转换工具
开发语言·chrome·bash
yyy(十一月限定版)1 小时前
初始matlab
开发语言·matlab