[19/03/23-星期六] 容器_ 泛型Generics】的更多相关文章

一.概念 生活中的容器不难理解,是用来容纳物体的,程序中的“容器”也有类似的功能,就是用来容纳和管理数据. 数组就是一种容器,可以在其中放置对象或基本类型数据. ---优势:是一种简单的线性序列,可以快速地访问数组元素,效率高.如果从效率和类型检查的角度讲,数组是最好的. ---劣势:不灵活.容量需要事先定义好,不能随着需求的变化而扩容.(因为数组容量是提前定义好的) 基于数组并不能满足我们对于“管理和组织数据的需求”,需要一种更强大.更灵活.容量随时可扩的容器来装载我们的对象,即容器也叫集合(…
一. 概念&方法 Collection 表示一组对象,它是集中.收集的意思.Collection接口的两个子接口是List.Set接口. 由于List.Set是Collection的子接口,意味着所有List.Set的实现类都有上面的方法. 如参见代码中test01和test02方法 [list接口]分为3种 List是有序.可重复的容器.List接口常用的实现类有3个:ArrayList(数组实现).LinkedList(链表)和Vector(线程). 有序:List中每个元素都有索引标记.可…
数组的常用方法 java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的. 具有以下功能: 给数组赋值:通过 fill 方法. 对数组排序:通过 sort 方法,按升序. 比较数组:通过 equals 方法比较数组中元素值是否相等. 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作. 具体说明请查看下表: 序号 方法和说明 1 public static int binarySearch(Object[] a, Object key)…
1.错误内容 package docker-ce-3:19.03.2-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed - cannot install the best candidate for the job - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded - package container…
Centos8安装Docker提示:package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed centos8默认使用podman代替docker,所以需要containerd.io 执行命令: yum install https://download.docker.com/linux/fedora/30/x86_64/…
执行 yum install docker-ce docker-ce-cli containerd.io 提示: 错误: 问题: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed 解决方法: 进入阿里云镜像地址:https://mirrors.aliyun.com/docker-ce/linux/centos/…
1.升级docker compose ,docker官方安装方法 $ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 这个下载过程会比较慢 修改权限 $ sudo chmod +x /usr/local/bin/docker-compose 查看…
系统环境 # cat /etc/redhat-release Red Hat Enterprise Linux release 8.0 (Ootpa) 安装依赖 # yum install -y yum-utils device-mapper-persistent-data lvm2 Last metadata expiration check: 0:33:56 ago on Tue 18 Feb 2020 12:30:53 AM UTC. Dependencies resolved. ====…
一,下载docker 1,说明:docker的打包对于fedora的支持很及时, 所以在fedora 30/31上都可以直接使用官方的rpm包 下载地址: https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/ 2,下载docker所需的三个安装包到source目录 [root@localhost source]# wget https://download.docker.com/linux/fedora/30/x8…
一,启动docker后,搜索registry [root@localhost source]# systemctl start docker [root@localhost source]# docker search registry NAME DESCRIPTION STARS OFFICIAL AUTOMATED registry The Docker Registry 2.0 implementation for s- 2873 [OK] 说明:刘宏缔的架构森林是一个专注架构的博客,地址…
systemctl stop docker rpm -qa | grep docker 看到那个删除那个yum erase docker \ docker-client \ docker-client-latest \ docker-common \ find /etc/systemd -name '*docker*' -exec rm -f {} \; find /lib/systemd -name '*docker*' -exec rm -f {} \; #删除以前已有的镜像和容器rm -r…
CentOS8安装docker和docer-conpose 报错如下Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed 1.yum更新 yum update 2.安装依赖环境 yum install -y yum-utils device-mapper-persistent-data lvm2…
/* 第19章 queue队列容器 19.1 queue技术原理 19.2 queue应用基础 19.3 本章小结 */ // 第19章 queue队列容器 // 19.1 queue技术原理 // 19.2 queue应用基础 ------------------------------------------------------------------------------------------- #include <queue> #include <iostream>…
Oracle数据库, 时间字段是varchar2类型, 存储了 '26-2月 -19 03.34.47.000000 下午' 格式(TIMESTAMP 数据类型)的字符串日期, 将其解析为yyyy-MM-dd hh24:mi:ss格式: TIMESTAMP 数据类型: DATE数据类型的主要问题是它粒度不能足够区别出两个事件哪个先发生.ORACLE已经在DATE数据类型上扩展出来了TIMESTAMP数据类型,它包括了所有DATE数据类型的年月日时分秒的信息,而且包括了小数秒的信息.如果你想把 D…
# 关闭docker sudo systemctl stop docker # 卸载旧版本: sudo apt-get purge docker-ce # 安装新版本 sudo apt update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubunt…
说明: 1.此环境为未安装过docker服务的环境, 如果已经安装,则自行卸载. 2.以下环境中上传的包及离线yum源默认为/home目录下,如无特殊说明,以此目录为准 步骤一:下载docker离线安装包,下载地址 链接:https://pan.baidu.com/s/13nzMoQJ6A4ZCbW2D8han9Q 提取码:4rod 步骤二:将下载的包上传服务器,并解压到/home目录下,配置离线yum源 [root@localhost home]# tar xvf docker-.tar.gz…
一.概念&方法 现实生活中,我们经常需要成对存储某些信息.比如,我们使用的微信,一个手机号只能对应一个微信账户,这就是一种成对存储的关系. Map就是用来存储“键(key)-值(value) 对”的. Map类中存储的“键值对”通过键来标识,所以“键对象”不能重复. Map 接口的实现类有HashMap(哈希对).TreeMap.HashTable.Properties等. [常用方法] [代码] 1 /* 2 *测试键值对 3 * 4 */ 5 package cn.sxt.collectio…
一.二维数组 多维数组可以看成以数组为元素的数组.可以有二维.三维.甚至更多维数组,但是实际开发中用的非常少.最多到二维数组(我们一般使用容器代替,二维数组用的都很少). [代码示例] import java.util.*; public class Test_0313_01 { public static void main(String[] args) { //1. Java中多维数组的声明和初始化应按从低维到高维的顺序进行 int a1[][]=new int[][4];//非法 //in…
一.概念及分类 InputStream(输入流)/OutputStream(输出流)是所有字节输入输出流的父类 [注]输入流和输出流的是按程序运行所在的内存的角度划分的 字节流操作的数据单元是8的字节,字符流操作的数据单元是16位的字符 [流的概念] —————————— ooooooooooooooooo —————————— (输入流模型,文件从头(左边)到尾(右边),) ↑,(记录指针) 每个‘’o“”看出一个"水滴",不管是字节流还是字符流,每个水滴是最小的输入/输出单位,对于…
一.概念 迭代器为我们提供了统一的遍历容器的方式 /* *迭代器遍历 * */ package cn.sxt.collection; import java.security.KeyStore.Entry; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util…
一.概念&方法 Set接口继承自Collection,Set接口中没有新增方法,方法和Collection保持完全一致.. Set容器特点:无序.不可重复.无序指Set中的元素没有索引,只能遍历查找;不可重复指不允许加入重复的元素.更确切地讲, 新元素如果和Set中某个元素通过equals()方法对比为true,则不能加入;甚至,Set中也只能放入一个null元素,不能多个. Set常用的实现类有:HashSet.TreeSet等,我们一般使用HashSet. /* *测试set接口 hashs…
一.遍历 for-each即增强for循环,是JDK1.5新增加的功能,专门用于读取数组或集合中所有的元素,即对数组进行遍历. //数组遍历 for-each public class Test_0312_01 { public static void main(String[] args) { int arr[]=new int [5]; for(int i=0;i<arr.length;i++){ //常规遍历的方法 arr[i]=2*i+1; } for(int i=0;i<arr.le…
 一.概念 Reader Reader用于读取的字符流抽象类,数据单位为字符. int read(): 读取一个字符的数据,并将字符的值作为int类型返回(0-65535之间的一个值,即Unicode值).如果未读出字符则返回-1(返回值为-1表示读取结束). void close() : 关闭流对象,释放相关系统资源. /*字符输入流 Reader 仅用于字符(不算管中文还是英文)文件,不适合图片等 *字节流 FileInputStream 对应 字符流 FileReader *字节流 Fil…
一.概念 输入(Input)  指的是:可以让程序从外部系统获得数据(核心含义是“读”,读取外部数据) 常见的应用: Ø 读取硬盘上的文件内容到程序.例如:播放器打开一个视频文件.word打开一个doc文件. Ø 读取网络上某个位置内容到程序.例如:浏览器中输入网址后,打开该网址对应的网页内容;下载网络上某个网址的文件. Ø 读取数据库系统的数据到程序. Ø 读取某些硬件系统数据到程序.例如:车载电脑读取雷达扫描信息到程序;温控系统等. 输出(Output)  指的是:程序输出数据给外部系统从而…
一.概念 捕获异常是通过3个关键词来实现的:try-catch-finally.用try来执行一段程序,如果出现异常,系统抛出一个异常,可以通过它的类型来捕捉(catch)并处理它, 最后一步是通过finally语句为异常处理提供一个统一的出口,finally所指定的代码都要被执行(catch语句可有多条;finally语句最多只能有一条,根据自己的需要可有可无) 1. try: try语句指定了一段代码,该段代码就是异常捕获并处理的范围.在执行过程中,当任意一条语句产生异常时,就会跳过该条语句…
一. 引子 一般的类和方法.仅仅能使用详细类型:要么是基本类型.要么是自己定义类型.假设要编写能够应用于多种类型的代码,这样的刻板的限制对代码的束缚就会非常大. 多态算是一种泛化机制,但对代码的约束还是太强(要么继承父类.要么实现接口). 有很多原因促成了泛型的出现.而最引人注目的一个原因,就是为了创造容器类. (泛型的主要目的之中的一个就是用来指定容器要持有什么类型的对象,而且由编译器来保证类型的正确性) 比如,在 Java 实现加入泛型前.ArrayList 仅仅维护一个 Object 类型…
Go语言容器(container) 变量在一定程度上能满足函数及代码要求.如果编写一些复杂算法.结构和逻辑,就需要更复杂的类型来实现.这类复杂类型一般情况下具有各种形式的存储和处理数据的功能,将它们称为"容器(container)". 在很多语言里,容器是以标准库的方式提供,你可以随时查看这些标准库的代码,了解如何创建,删除,维护内存. 本章将以实用为目的,详细介绍数组.切片.映射,以及列表的增加.删除.修改和遍历的使用方法.本章既可以作为教程,也可以作为字典,以方便开发者日常的查询和…
一.概念 Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年.月.日.时.分.秒的展示和计算. GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统. [提示]月份的表示,一月是0,二月是1,以此类推,12月是11. 因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表 示月份:JANUARY.FEBRUARY等. [代码示例] /* *测试日历 C…
什么是泛型. Java标准库提供的ArrayList内部就是一个Object[]数组,配合存储一个当前分配的长度,就可以充当"可变数组". public class ArrayList { private Object[] array; private int size; public void add(Object e) {...} public void remove(int index) {...} public Object get(int index) {...} } 如果用…
Framework类库中的泛型 泛型可以使代码重用,提高开发效率 CLR允许在引用类型.值类型或接口中定义泛型方法: CLR允许创建泛型引用类型.泛型值类型(枚举不允许创建).泛型委托类型和泛型接口类型: System.Collections.Generics中定义了List<T>,<T>表示它操作的是一个未指定数据类型:定义泛型类型或方法时,T是一个变量名,在源代码中能够使用一个数据类型的任何位置都能用T,例如方法参数.返回值等等. 泛型参数变量要么称为T,要么以T开头(如Tke…