首页 > 其他分享 >m2_day01 [集合内容回顾]

m2_day01 [集合内容回顾]

时间:2024-05-10 23:45:11浏览次数:16  
标签:Map 多线程 回顾 day01 规则 List m2 集合 排序

课程内容:
  • 集合复习


集合复习
  • Java集合框架

                    JCF

  Collection Map

List       Set SortedMap

SortedSet
  • 各类集合的特点

List: [有序 不唯一] 
Set : [唯一]
SortedSet : [有序 唯一]
Map : [主键唯一]
SortedMap : [主键有序唯一]
  • 截止目前学过的所有集合

ArrayList:
LinkedList:
Vector:
Stack:
HashSet:
TreeSet:
HashMap:
Hashtable:
ConcurrentHashMap:
TreeMap:
  • *:所有单值类型集合统一的操作有哪些?

add(obj)  remove(obj)  contains(obj)  size()  clear()
forEach() iterator()  
stream()
addAll() retainAll() removeAll()
  • *: 所有键值对集合统一的操作有哪些?

put(k,v)  putAll()  remove(k)  get(k)  size()  clear()
containsKey() containsValue()
forEach()
keySet() values() entrySet()
  • Java中的集合如何指定排序规则?

*: List集合有序吗? 
有序 但默认是先来后到的添加顺序
  如果我们对这种默认的顺序不满意 如何重新排序?
  Collections.sort(list,比较规则);
  list.sort(比较规则);

*: TreeSet如何指定排序规则?
构造方法传参 指定排序规则

*: TreeMap如何指定其主键的排序规则?
构造方法传参 指定排序规则 (比较器对象 lambda表达式)

*: Map集合如何按照值对象进行排序?
构建一个新的键值倒置的新集合 依然是利用键完成排序
  • 关于ConcurrentModificationException(并发修改异常)

多线程高并发的场景下 应该选择哪种Map集合呀?
ConcurrentHashMap

多线程高并发的场景下 应该选择哪种List集合呀?
CopyOnWriteArrayList

多线程高并发的场景下 应该选择哪种Set集合呀?
CopyOnWriteArraySet

标签:Map,多线程,回顾,day01,规则,List,m2,集合,排序
From: https://www.cnblogs.com/zhaodenghui33/p/18185511

相关文章

  • m2_day02 [内部类]
    课程内容:什么是内部类?成员内部类静态内部类局部内部类匿名内部类Java中如何完成数据共享什么是内部类?什么是内部类?指定义在一个类型(类/接口)当中的类被称为内部类为什么要使用内部类?1.内部类是Java当中共享数据最简单的方式之一2.它还能用来表达类......
  • m2_day03 [异常]
    课程内容:什么是异常?为什么要处理异常?如何处理异常?什么是异常?Java当中所有“问题”的体系结构    Throwable[可以向外抛出的]​ErrorException [错误] [异常]​RuntimeException......
  • m2_day04 [线程]
    课程内容:线程的概念引用多线程的原因?如何实现线程?如何控制线程?线程类其它常用方法线程的概念线程所在包:java.lang.Thread理解程序进程线程之间的区别:程序:保存在物理介质中的代码片段​进程:一旦程序运行起来就变成了操作系统当中的一个进程......
  • m2_day06 [线程池]
    课程内容:线程池的概念线程池的种类自定义线程池执行器线程池的概念线程池:所谓线程池是一种标准的资源池模式​资源池模式就是在用户出现之前提前预留活跃资源从而在用户出现的第一时间直接满足用户对资源的需求并且将资源的新建和销毁操作都委托......
  • m2_day05 [线程]
    课程内容:什么是并发错误?如何解决并发错误?什么是死锁?如何解决死锁?锁池和等待池的区别什么是并发错误?并发错误的概念多个线程共享操作同一份数据的时候线程体当中连续的多行操作未必能够连续执行很可能操作只完成另一部分时间片就突然耗尽此时......
  • m2_day2
    课程内容:搭建开发环境配置环境变量第一个程序HelloWorldJava中的软件包结构搭建开发环境:安装jdkwww.Oracle.comSDK=softwaredevelopmentkits=软件开发工具包JDK=java+SDK=java软件开发工具包JRE=javaruntimeenvironment=java运行环境JD......
  • 2021看雪SDC议题回顾 | SaTC:一种全新的物联网设备漏洞自动化挖掘方法
    https://zhuanlan.zhihu.com/p/431335767随着物联网技术的日新月异,未来物联网的应用将越来越广泛,但它同样也会带来大量安全漏洞。而当下IoT漏洞挖掘技术尚未完全成熟,许多人的信息安全意识不够强,技术革新面临着巨大的安全隐患。来自上海交通大学的陈力波老师所提出的SaTC:一种全新......
  • 传统C++回顾
    主要参考菜鸟教程,用于回忆当时没有好好学习的C++98Vector的学习#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>myVector;myVector.push_back(3);myVector.push_back(7);myVector.push_back(11);myVector.push_back(5......
  • 国密算法SM2-java实现
    Maven依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version></dependency>工具类importjava.math.BigInteger;publicclassUtil{......
  • Lab2 - ADT&OOP 回顾总结
    Lab2-ADT&OOP回顾在忙于干活与忙于划水的薛定谔叠加态中度过一个月后想起了博客,考虑到如果自己再不回顾之前的实验+复习软件构造内容就要和肯尼迪和安倍晋三一桌打复活赛结果会很悲惨的情况,决定打开博客开始码字。现在对Lab2-ADT&OOP的内容进行回顾目录Lab2-ADT&OOP回......