java基础之集合

2023-10-27

集合

基础里的重头戏来喽

一. 集合概述
集合和数组的区别
  • 概述
集合是java中用来存放多个 引用数据类型 数据的容器,它是解决了数组的一些弊端的一个多数据容器,他有 的操作集合的方法,(比如增加和删除方法)。 
    java中集合的体系使用接口和类进行体现使用的。d
  • 相同点
都是存放对个数据的容器
  • 不同点
数组:
1、可以存放任意数据类型数据 int[] Person[] String[] double[] 
2、创建后长度固定不变 new int[3]; 
3、创建后只能存放单一数据类型数据 int[] arr = new int[]; 
集合:
1、只能存放引用数据类型的数据 
2、集合长度可变的 
3、可以同时存放多种数据类型的数据 【实际开发的时候尽量不这么干】一个集合对象只存一种引用类型的据.
集合体系结构

在这里插入图片描述

二. 单列集合
Collection常用功能
  • 概述

Collection是单列集合的顶层接口,定义了所有单列集合功能的行为声明,他的功能需要单列集合的实现类 去实现,他功能通过实现类对象来使用。今天对于Collection的功使用典型的实现类ArrayList实现。 也就是为了研究Collection中共性方法,使用Collection类型引用,指向ArrayList实现类对象.

  • 创建Collection集合的对象
Collection是一个接口不能直接创建对象,使用实现类ArrayList来创建对象使用
大部分的集合创建对象用的都是空参构造

Collection c = new ArrayList(); // 一个集合对象就创建好了
  • Collection集合常用方法
	1.boolean add(E e)  //添加元素
    2.boolean remove(Object o) //丛集合中
    3.boolean removeif(Object o) //根据条件移除元素
    4.void clear()  //清空集合元素
    5.boolean contains(Object o) //判断集合中是否存在指定的元素
    6.boolean isEmpty() //判断集合是否为空
    7.int size() //集合长度
        
单列集合遍历
  • 1.迭代器遍历

迭代器:他本身就是一个定义了专门对集合进行遍历功能的一个接口

原理: 
集合对象通过相关方法得到迭代器的对象,迭代器的对象调用相关方法遍历集合 
获取迭代器对象功能:集合提供相关功能 
iterator():获取Iterator类型的迭代器实现类对象【属于Collection的功能】 
listIterator():获取ListIterator类型的迭代器对象【子接口中的迭代器 Collection没有的】 迭代器的功能: 
    IteratorhasNext():判断下个位置是否有元素 返回boolean类型的值 有返回true, 否则返回false 
    next():获取集合位置上的元素,同时移动迭代器指针到下个位置 
    remove():删除当前元素 ListIteratoradd(element):添加元素

注意增删操作:(并发修异常的产生原因和解决办法)

使用迭代器添加元素.删除元素

  • 2.增强for遍历
增强for遍历也名foreach遍历,他的底层是使用迭代器遍历的一个全新格式。
增强for遍历本质是迭代器遍历。
  • 格式:
格式:
for(数据类型 变量名 : 容器对象){ 
    对集合元素的操作逻辑 
}
解释: 
    数据类型:集合中存放的数据的数据类型 
    变量名:存放每次迭代到的元素的具体的值 
    集合名称:要遍历的集合容器
    它不只能遍历集合,还能数组
  • 3.数组法遍历
把集合元素转存到一个数组中,遍历数组取出元素就是集合的元素, 这种遍历方式不是直接的遍历集合的方 式.而且间接的遍历方式.
    集合变数组:

1.toArray():把集合元素转变为一个Object数组
2.toArray(Object[] arr) :把集合的元素转换为指定类型数组 【前提:集合的数据类型指定】
    
  • 注意事项:
注意事项: 
1、人为创建的数组长度和集合的长度以及数据类一致,系统不会创建数组 
2、人为创建的数组长度比集合的长度小:系统根据集合的长度以及数组的数据类型自动创建对应的数组 
3、人为创建的数组长度比集合的长度大:不会自动创建数组 多余的位置使用null补全
有序单列集合
  • 概述

有序集合指的是Collection的分支,有序集合的顶层接口是List,List除了继承Collection接口的所有 功能和方式外具有自己的特有功能和遍历方式

  • 特点:
1、有序:对集合的存取数据的顺序一致 
2、有索引:存放数据的位置有编号【原理和数组的元素索引一样的】
3、元素可重复:同一个集合中可以同时存放多个相同的元素
  • List集合的特有方法
1.void add(int index,E element)  //在此集合中的指定位置插入指定的元素
2.E remove(int index)  //删除指定索引处的元素,返回被删除的元素
3.E set(int index,E element)  //修改指定索引处的元素,返回被修改的元素
4.E get(int index) //返回指定索引处的元素
    
    
    //举个栗子
List list = new ArrayList();  // List是一个接口,不能实例化,所以要指向他的实现类ArrayList
list.add(0,"a");
list.add(1,"b");
System.out.println(list) //[a,b]  有序
Object o = list.remove(0) //a  返回被删除的元素
数据结构
  • 概述
数据结构是计算机存储,组织数据的方式,通常情况下, 精心选择的数据结构可以带来更高的运行和存储效率
: stack,又称堆栈,简称栈,它是运算受限的线性表,其限制是仅允许在标记的一端进行插入和删除操作, 不允许在其他任何位置进行添加、查找、删除等操作。 

特点: 先进后出 (FILO LIFO),(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元 素)。例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹

在这里插入图片描述

压栈:就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置。
弹栈:就是取元素。即,把栈的顶端位置元素取出,栈中已有元素依次向栈顶方向移动一个位置。
  • 队列
queue,简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表 的另一端进行删除

特点: 
1. 先进先出(FIFO, LILO)(即,存进去的元素,要在后它前面的元素依次取出后,才能取出该元素)。 例如,小火车过山洞,车头先进去,车尾后进去;车头先出来,车尾后出来。
2. 队列的入口、出口各占一侧。例如,下图中的左侧为入口,右侧为出口

在这里插入图片描述

  • 数组
Array:是有序的元素序列,数组是在内存中开辟一段连续的空间,并在此空间存放元素。就像是一排出租 屋,有100个房间,从0到99每个房间都有固定编号,通过编号就可以快速找到租房子的人。 
    数组特点:查改快, 增删慢
    
    特点:
特点查改找元素快: 起始地址 + 索引*每个元素所占空间大小 
    只需要经过一次寻址就可以找到元素 通过可以快速访问指定位置的元素
    
增加元素慢: 指定索引位置增加元素:需要创建一个新数组,将指定新元素存储在指定索引位置,再把原数组元素根据 索引,复制到新数组对应索引的位置。
  • 链表
链表:linked list, 由一系列结点node(链表中每一个元素称为结点)组成,结点可以在运行时动态生 成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。我们常说的链表结构有单向链表与双向链表,

在这里插入图片描述

(一)有序单列集合实现类
1. ArrayList
ArrayList是List的典型实现类,没有自己的特有功能,功能都是List接口中的功能。 底层采用数组结构构建的一个实现类集合
    
    1. 在创建ArrayList集合对象的时候,会维护一个长度为10的Object类型的数组. 
    2. 当插入数据10个长度不够,这时候以1.5倍的形式进行扩容
2.LinkedList
LinkedList是List的另一个常用实现类集合,底层采用的是双向链表结构构建而成有自己的特有功能,特有功能基本上是对集合首尾元素的操作功能,实际开发中主要使用它的特有功能方便元素添加、删除。

在这里插入图片描述

提供这两个属性原因就是为了方便查找元素, 当我们根据索引查找一个元素的时候, 计算这
个索引距离头部近还是尾部近, 距离那个近就从那开始查,尽量提供查询的的效率.
  • LinkedList的常用功能
	1.public void addFirst(E e): //将指定元素插入此列表的开头。 
    2.public void addLast(E e): //将指定元素添加到此列表的结尾。 
    3.public E getFirst(): //返回此列表的第一个元素。 
    4.public E getLast(): //返回此列表的最后一个元素。 
    5.public E removeFirst(): //移除并返回此列表的第一个元素。 
    6.public E removeLast(): //移除并返回此列表的最后一个元素。 
    7.public E pop(): //从此列表所表示的堆栈处弹出一个元素。 
    8.public void push(E e): //将元素推入此列表所表示的堆栈。
(二)无序单列集合
1. set集合
  • 概述
Set集合也是Collection的分支,他没有自己独有的功能和遍历方式,他的功能和遍历方式全部来自于 Collection 
只不过功能更加的严谨了。
Set集合是无序集合的顶层接口,学习的时候学习典型的实现类HashSet。 Set s = new HashSet();
  • 特点 ( )
1、无序:存取顺序不一致 
2、没有索引 
3、元素唯一:set集合只能存放单一元素
  • Set实现类
1.HashSet  //存取的顺序不一致且唯一;
     Set<String> s = new HashSet();
        //无序
        s.add("a");
		set.add("a");
        s.add("c");
        s.add("b");
        s.add("d");
		System.out.println(s);//[a, b, c, d]

2.LinkedHashSet  //对数据进行了去重的同时还要保证数据原有的顺序
    //举例
    HashSet<String> set = new HashSet<>();
       set.add("a");
	   set.add("a");
       set.add("c");
       set.add("b");
       set.add("d");
       System.out.println(set);//[a, b, c, d]
    
3.TreeSet //TreeSet是Set集合的常用实现类,使用的时候自动对集合内部的元素进行排序
    //举例
    TreeSet<String> set = new TreeSet<>();
        set.add("abc");
        set.add("a");
        set.add("acs");
        System.out.println(set);//[a, abc, acs]
TreeSet 的自然排序和比较器排序
  • TreeSet集合的概述
TreeSetSet集合的常用实现类,使用的时候自动对集合内部的元素进行排序 3 2 1 ---> 1 2 3 使用和和两个构造方法有关系 
    TreeSet():默认升序排序【自然排序】 
    TreeSet(Comprator c):按照指定的排序原则进行排序【比较器排序】
HashSet集合的元素唯一性原理分析
  • 哈希值
是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
三. 双列集合
(一) Map接口的常用功能
  • 概述
Map<K,V>是一个接口,是双列集合的顶层接口,定义了所有双列集合的功能功能和遍历方式

双列集合:就是一个用来存放多个键值对数据的容器 
键值对:一对一的映射关系的一对数据, 映射的意思就是可以通过一个值找到另一值意思,在Map集合中含义 就是可以通过Key值找到Value值.

比如:age=18 age就是:key 18就是value.
name="小翔" name:键 "小翔":值 键值对.
  • 特点
1、存放的是键值对数据 
2、无序集合 (存取顺序不一致) 
3、键要唯一(key唯一)
  • Map常用的实现类介绍
HashMap<K,V>:存储数据采用的哈希表结构(HashSet底层就是HashMap),元素的存取顺序不能保证一致。
要保证键的唯一、不重复

LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。
通过链表结构可以保证元素的存取顺序一致

HashMap和Hashtable的区别: 
1、出现时机不一样 HashMap是jdk1.2出现的 Hashtable是jdk1.0出现
2、线程安全不一样 HashMap是线程不安全的 Hashtable是线程安全的 
3、效率不一样 HashMap效率高 Hashtable效率低
4、存放数据要求不一样 HashMap是支持null值和null键的 Hashtable是不支持null数据的
  • Map接口中常用的方法
1.public V put(K key, V value):  //把指定的键与指定的值添加到Map集合中。 
2.public V remove(Object key): //把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素 的值。 
3.public V get(Object key): //根据指定的键,在Map集合中获取对应的值。 
4.boolean containsKey(Object key):  //判断集合key中是否包含指定的元素。
5.boolean containsValue(Object value):  //判断集合value中是否包含指定的元素。 

三种遍历方式:
键遍历 6.public Set<K> keySet():  //获取Map集合中所有的键,存储到Set集合中。 
值遍历 7.public Collection<V> values(): //获取Map集合中所有值,存放到Collection集合中 
键值对遍历 8.public Set<Map.Entry<K,V>> entrySet()://获取到Map集合中所有的键值对对象的集合(Set集合)//举例
Map<String, Integer> map = new HashMap<>();
map.put("max", 100); 
map.put("min", 0); 
map.put("mid", 50);
map.put("max", 1000); // 当添加的时候有相同key值出现,就会替换之前key的value值.
map.put(null, null); // key和value允许为null

Integer value = map.remove("min");//remove
Integer mid = map.get("mid");  // get
boolean b1 = map.containsKey("max1"); // containsKey()
boolean b2 = map.containsValue(50); //containsValue()

三种遍历方式:
键遍历: Set<String> keys = map.keySet();//keySet() 获取Map集合中所有的键,存储到Set集合中。

//values()  获取Map集合中所有值,存放到Collection集合中
值遍历: Collection<Integer> values = map.values(); 

键值对遍历: Set<Map.Entry<Character, Integer>> set = map.entrySet();



  • HashMap和HashSet的关系
HashMap没有特别的方法需要研究,因为方法在Map接口中介绍完了. 
我们只需要研究HashMap保持键值对唯一的原因即可. 
HashSet集合底层是由HashMap构建的【HashSet维护了一个HashMap】 
HashSet集合的数据添加在HashMap集合中的。 
HashSet的存值原理其实也是HashMap的存值原理。
LinkedHashMap
LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。
    通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。
    特点:有序的Map集合 都可以存放键的值为null
    
    LinkedHashMap<String, Integer> map = new LinkedHashMap<>(); 
map.put("height", 173); 
map.put("age", 80); 
map.put("age", 18); 
System.out.println(map);//{height=173, age=18}
TreeMap
该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。
四. Collections 工具类
可变参数的使用和注意事项
  • 概述
可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
使用场景: 方法的参数类型已经确定, 个数不确定, 我们可以使用可变参数. 
【相同类型的多个形参的方法的参数列表变形】
  • 格式
修饰符 返回值类型 方法名(数据类型… 变量名) { } 
调用带有可变参数的方法时,可以传入0~n个实参给可变参数赋值.
  • 注意事项
1.这里的变量其实是一个数组 
2.如果一个方法有多个参数,包含可变参数,可变参数要放在最后
3.一个方法中只能使用一个可变参数
Collections常用功能
  • 概述
Collections类是和一个工具类,在类中封装类很多常用的操作集合的方法. 它不止能操作单列集合,也能操 作双列集合. 
1.不能创建对象 
2.类中内容都是静态的(静态属性和静态方法)
  • 常用方法
1.public static void sort(List list)  //将指定的列表按升序排序
2.public static void reverse(List<?> list)  //反转指定列表中元素的顺序
3.public static void shuwle(List<?> list)  //使用默认的随机源随机排列指定的列表
    
    
    //举例
List<Integer> list = new ArrayList<>(); 
list.add(100); 
list.add(50); 
list.add(70);
System.out.println(list); // [100, 50, 70]

Collections.sort(list); 
System.out.println(list); //[100,70,50]

Collections.reverse(list); 
System.out.println(list);//[50,70,100]

Collections.shuffle(list); 
System.out.println(list);//[70,50,100]
//将指定的列表按升序排序
2.public static void reverse(List<?> list)  //反转指定列表中元素的顺序
3.public static void shuwle(List<?> list)  //使用默认的随机源随机排列指定的列表
    
    
    //举例
List<Integer> list = new ArrayList<>(); 
list.add(100); 
list.add(50); 
list.add(70);
System.out.println(list); // [100, 50, 70]

Collections.sort(list); 
System.out.println(list); //[100,70,50]

Collections.reverse(list); 
System.out.println(list);//[50,70,100]

Collections.shuffle(list); 
System.out.println(list);//[70,50,100]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础之集合 的相关文章

  • 如果测试用例失败,Selenium Web 驱动程序无法关闭 Firefox 实例

    我各位 我正在使用 junit 和 selenium web 驱动程序 2 28 问题是 如果我运行成功的测试用例 Web 驱动器能够关闭 Firefox 实例 但是当测试用例失败时 Selenium Web 驱动器无法关闭 Firefox
  • ElasticBeanstalk Java,Spring 活动配置文件

    我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot jar 一切正常 配置文件为 默认 有谁知道如何为 java ElasticBeanstalk 应用程序 不是 tomcat 设置活动配置文件 spri
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 解决错误:日志已在具有多个实例的atomikos中使用

    我仅在使用atomikos的实时服务器上遇到问题 在我的本地服务器上它工作得很好 我在服务器上面临的问题是 init 中出错 日志已在使用中 完整的异常堆栈跟踪 java lang RuntimeException Log already
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • IntelliJ IDEA 创建的 JAR 文件无法运行

    我在 IntelliJ 中编写了一个跨越几个类的程序 当我在 IDE 中测试它时它运行良好 但是 每当我按照教程将项目制作成 jar 可执行文件时 它就不会运行 双击 out 文件夹中的文件时 该文件不会运行 并显示 无法启动 Java J
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 检查 protobuf 消息 - 如何按名称获取字段值?

    我似乎无法找到一种方法来验证 protobuf 消息中字段的值 而无需显式调用其 getter 我看到周围的例子使用Descriptors FieldDescriptor实例到达消息映射内部 但它们要么基于迭代器 要么由字段号驱动 一旦我有
  • 使用 AWS Java SDK 为现有 S3 对象设置 Expires 标头

    我正在更新 Amazon S3 存储桶中的现有对象以设置一些元数据 我想设置 HTTPExpires每个对象的标头以更好地处理 HTTP 1 0 客户端 我们正在使用AWS Java SDK http aws amazon com sdkf
  • 运行 Jar 文件时出现问题

    我已将 java 项目编译成 Jar 文件 但运行它时遇到问题 当我跑步时 java jar myJar jar 我收到以下错误 Could not find the main class myClass 类文件不在 jar 的根目录中 因
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的

随机推荐

  • 应用服务器、开源框架常见实际问题记录

    eclipse 运行问题 1 The type javax servlet jsp PageContext cannot be resolved It is indirectly referenced from required class
  • exce中让两列数据一一对应_EXCEL让两个表格中的两列数据一一对应:

    WPS两个EXCEL中数据如何相对应的放在一起 例如 1 选中姓名这一列的数据中的标志就是表格的粗黑线 之后 依次在 开始 选项选择 编辑 排序和筛选 自定义排序 2 这时 会弹出 排序 窗口 在列的主要关键字中选择 姓名 排序依据 和 次
  • 终端对平台推送拉取数据选型

    开会讨论了一个问题 就是我们平台从终端获取到数据 经过我们的处理后 传输给另一个平台做展示 这个是实时的 要求必须经过我们平台 所以杠精住嘴 在这个传输过程中 给出了一下三个方案来传输数据 tcp websocket API 最后还是选取了
  • SpringBoot整合MyBatis

    SpringBoot整合MyBatis 转载请在文章最上方加上此句话 原文地址 http www cnblogs com zhuxiaojie p 5836159 html 前言 这段时间用springboot感觉确实挺好用的 很大程度上的
  • SQL查询优化——表分区

    1 表分区 在建表的时候将表建成分区表 2 好处 a1 提高对数据检索或操作的效率 a2 不同的分区可以保存到不同的表空间 磁盘 提高数据的安全性 a3 可以将数据分到不同的分区 a4 每个分区的数据可以独立的备份和恢复 3 表分区的方法
  • 【计算机科学】【2017.12】图像分类与回归的深度神经网络模型

    本文为意大利特伦托大学 作者 Salim MALEK 的博士论文 共98页 深度学习是机器学习的一个分支 在许多研究领域和实际中都得到了广泛应用 这种持续的发展主要可以追溯到潜在处理设施的可用性和可负担性 例如 仅在十年前 这些设施还没有普
  • np.quantile()详解

    numpy quantile numpy quantile a q axis None out None overwrite input False interpolation linear keepdims False import nu
  • Linux下的虚拟化部署

    文章目录 1 kvm安装条件 2 kvm虚拟化安装 3 kvm虚拟化相关信息 4 手动安装虚拟机 5 虚拟机管理命令 6 虚拟机在linux系统中传输 7 虚拟机快照 8 脚本执行新建 快照 修复虚拟机 9 虚拟机网络配置 1 kvm安装条
  • 硬盘的几点真相

    因为想自己修下硬盘 所以先找了远古时代的笔记本硬盘拆了看看结构 结果发现几个很有意思的地方 首先就是那个 do not cover 的小孔 相信很多人都注意到了硬盘上有个很小的小孔 从外面看进去好像是个微型可调电容 周围一圈文字 do no
  • Matlab 随机森林工具箱的配置使用

    总结一下Matlab随机森林工具箱的配置和使用 配置环境Matlab2019a windows10 vs2017 1 下载Matlab随机森林工具箱 下载地址http www buaapress com cn mzs file detail
  • java持久层框架数据源加密

    学习目标 java持久层框架数据源加密 文章目录 学习目标 1 mybatis框架数据源加密 https www cnblogs com melovemingming p 10699613 html 这里是引用https www cnblo
  • 基于HAL库的stm32的OLED显示屏显示(模拟I2C,四脚,0.96寸)

    参考视频 江科大oled程序移植stm32hal库 freertos学习 cpu使用率 哔哩哔哩 bilibili STM32入门教程 2023持续更新中 哔哩哔哩 bilibili 第一步 STM32CubeMX配置 一 时钟树配置 高速
  • vs2012配置python_Visual Studio 2012 Ultimate 上安装 Python 开发插件 PTVS

    1 我的环境 操作系统 32位 Win7 旗舰版 Service Pack 1 VS版本 Microsoft Visual Studio Ultimate 2012 版本 11 0 50727 1 RTMREL Python解释器版本 Py
  • CAD颗粒密堆积2D插件 球体重力堆积 离散元建模 分子热运动

    插件简介 CAD颗粒密堆积2D插件可用于生成二维状态下重力堆积的随机颗粒 插件可指定投放区域 颗粒的粒径范围 颗粒间的间距 颗粒个数等信息 同时可模拟颗粒弹性及摩擦摩擦系数 插件采用物理引擎对颗粒行为进行模拟 可实现颗粒在力场作用下的堆积
  • c语言小游戏 精简_C语言实现消消乐小游戏

    本文实例为大家分享了C语言实现消消乐小游戏的具体代码 供大家参考 具体内容如下 代码 include include include include include include include include using namespa
  • 线性代数-坐标系变换

    问题描述 已知一个全局坐标系 还有若干局部坐标系 如何将局部坐标系的坐标转成全局坐标系的坐标 反过来又如何进行 这里的坐标系都是直角坐标系 本文通过下面几个方面的研究来回答上面的问题 1 简单示例 2 求解过程 3 nodejs编程验证 简
  • 【数据结构与算法】数据结构知识点总结

    文章目录 前言 一 数组 一 知识点 二 常用操作代码示例 1 声明数组 2 初始化数组 3 访问数组元素 4 修改数组元素 5 遍历数组 6 数组作为函数参数 二 链表 一 知识点 二 常用操作代码示例 1 定义链表节点结构体 2 创建链
  • 从零开始到设计Python+Selenium自动化测试框架-如何开始

    如何开始学习web ui自动化测试 如何选择一门脚本语言 选择什么自动化测试工具 本人已经做测试快5年 很惭愧 感觉积累不够 很多测试都不会 三年多功能测试 最近两年才开始接触和学习自动化测试 打算写一个系列文章 关于如何从零开始到会设计和
  • 服务器修改编码格式,设置服务器编码格式

    设置服务器编码格式 内容精选 换一换 在异构计算架构中 昇腾AI处理器与CPU通过PCIe总线连接在一起来协同工作 Host CPU所在位置称为主机端 Host 是指与昇腾AI处理器所在硬件设备相连接的X86服务器 ARM服务器或者Wind
  • java基础之集合

    集合 基础里的重头戏来喽 一 集合概述 集合和数组的区别 概述 集合是java中用来存放多个 引用数据类型 数据的容器 它是解决了数组的一些弊端的一个多数据容器 他有 的操作集合的方法 比如增加和删除方法 java中集合的体系使用接口和类进