对象数组

JAVA中的集合框架(上)List

╄→гoц情女王★ 提交于 2020-02-07 06:56:58
第一节 JAVA中的集合框架概述 集合的概念,现实生活中:很多事物凑在一起就是一个集合;数学中的集合:具有相同属性事物的总体;JAVA中的集合:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。集合的作用:在类的内部,对数据进行组织(如果有些属性类型相同,但意义与作用不同,咱们就不能把它们放到集合,如学生的姓名和性别属性),简单而快速的搜索大数量的条目。 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素; 有的集合接口,提供了映射关系,可以通过关键字key去快速查找到对应的唯一对象,而这个关键字可以是任意类型。 集合其实就是用来承装其它对象的容器。 与数组相比,为何选择集合而不是数组?数组的长度固定,还得复制,集合的长度可变。数组只能通过数组下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象,数组还要遍历元素比较麻烦。 集合的框架体系结构: 将collection想象成单身宿舍,三个子接口。 1.List(序列):排列有序,可重复 2.Queue(队列):排列有序,可重复 3.set(集):无序,不可重复 将map当成成对出现,Collection 是存储的一个一个的对象,而Map提供映射的关系,内部以的Key,Value两个对象为一个映射来存储数据,Entry类(键值对)是Map的内部类,Key

12:I/O流

柔情痞子 提交于 2020-02-07 04:39:51
1.流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流两种。流提供了一条通道程序,可以使用次通道吧源中的字节序列送到目的地。 2.输入流:程序从执行源的输入流中读取源中的数据,源可以是文件,网络,压缩包或其他数据源。 read()方法:从输入流中读取数据的下一个字节。返回0-255范围内的int字节值,如果到达流末尾而没有可用的字节,则返回值位-1。 read(byte[] b):从输入流中读入一定长度的字节,并以证书的形式返回字节数。 mark(int realimit)方法:在输入流的当前位置放置一个标记,readlimit 参数告知此输入流在标记位置失效之前允许读取的字节数。 reset()方法:将输入指针返回到当前所做的标记处 skip(long n)方法:跳过输入流上的n个字节并返回实际跳过的字节数。 markSupported()方法:如果当前流支持mark()/reset()操作就返回true。 colse方法:关闭此输入流并释放与该流关联的所有系统资源。 3.输出流:输出流的执行是数据要达到的目的地,程序通过向输出流中写入数据吧信息传递到目的地。输出流的目标可以是文件,网络,压缩包或其他数据源。 write(int b)方法:将指定的字节写入此输出流。 write(byte[] b)方法:将b个字节从指定的byte数组写入此输出流。 write(byte[

ES6的规范性

你说的曾经没有我的故事 提交于 2020-02-07 03:40:31
1.let 和 const 暂时性死区 (Temporal Dead Zone) let 和 const 命令声明的变量无变量提升,且都会被锁定在声明的代码块中,在 let 和 const 命令执行前,使用该变量都将报错,这一部分称为“暂时性死区”。 var tmp = 123; if (true) { tmp = 'abc'; // ReferenceError let tmp; } let tmp 将 tmp 变量绑定至 {} 代码块之内,外部的 tmp 声明无效, tmp = 'abc' 就处在死区,所以报错。同理在以前没有 let 和 const 命令的时候, typeof 是一个安全的运算符,即使变量没有被声明,也会正常返回 undefined ,但如果typeof处在死区中,处理了在后文被 let 和 const 的变量,将会报错。 typeof undeclared_variable; // undefined 未被let和const声明反而没事 if (true) { // TDZ开始 (Temporal Dead Zone: 暂时性死区) typeof tmp // ReferenceError let tmp; // TDZ结束 console.log(tmp); // undefined } 顶层对象 var 和 function 的全局声明会自动绑定到

java 笔记

假装没事ソ 提交于 2020-02-07 02:27:31
Java nio http://www.cnblogs.com/javaee6/p/4935154.html 基础知识 Java 虚拟机使用了即时编译器,因此采用java编写的热点代码其运行速度与C++相当。 Java与平台无关,在java中int4字节,而C和C++整型依赖于具体的操作系统,对于DOS整型数值占2字节,而windows系统32的整型数值占4字节。 3.&和| 运算符和&&||不同,第一种两边都算,第二种是短路的 4.>>>运算符将用0填充前面的位,>>运算符用符号位填充左侧的位,当需要构建位模式屏蔽某些位时,可以用位运算提高运行效率。 5.代码点: 6.Scanner in = new Sanner(System.in); 读取一行:in.nextLine(); 读取一个字符:in.next(); 读取一个数字:in.nextInt(); 7.Break 跳出循环 可以在标签 不是循环也可以 continue 也可以带标签 8.Biginteger 和 BigDecimal是java处理大数据自带的两个类型,有相应的加减乘除的函数 9.匿名数组用处在不创建新变量的情况下重新初始化一个数组 10.在编写一个结果为数组的方法时如果碰巧结果为空,就可以创建一个长度为0的数组 11.抽取一个数组里的数,确保不会再次抽取到那个数值,使用数组中的最后一个数值改写number

Python--numpy库

我的梦境 提交于 2020-02-07 00:43:26
Python中用list保存一组值,可用来当做数组使用,由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。【1,2,3】则需要三个指针,三个整数对象。 这对于数值运算来说,比较浪费内存和CPU计算时间; array 模块, array对象和列表不同,和C语言的一维数组类似 但不支持多维,没有各种运算函数。 numpy 提供 ndarray(N-dimensinal array object)对象:ndarray 是存储单一数据类型的多维数组。 ndarray数组操作: 概述: N维数组对象ndarray 是用于存放同类型元素的多维数组。 ndarray 中的每个元素在内存中都有相同存储大小的区域。 ndarray 中的每个元素是数据类型对象的对象(成为dtype)。 与Python中的其他容器对象一样,可以通过对数组进行索引或切片。 可通过ndarray 的方法和属性来访问和修改ndarray的内容。 创建数组: array()函数 zeros()函数:指定长度的全0数组 ones()函数:指定长度的全1数组 identify(3):单位矩阵(对角为1,其他为0),3行3列 创建随机数组 1. 均匀分布 np.random.rand(10,10) 创建指定形状(示例为10行10列)的数组(范围在0至1之间) np.random.uniform(0,100)

javaScript正则表达式对象

寵の児 提交于 2020-02-06 23:15:16
javaScript之正则表达式对象 1. 简介 正则表达式(Regular Expression),又称规则表达式,计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 javaScript中使用 RegExp 对象提供正则表达式的功能。 创建正则表达式有两种方式: 使用直接量 使用构造函数 // 使用直接量创建正则表达式,以"/"表示开始和结束 var regexp1 = /abc/ ; // 使用构造函数创建正则表达式 var regexp2 = new RegExp ( "abc" ) ; 上面两种写法都创建了一个内容为 abc 的正则表达式对象。但是通过直接量创建的正则表达式对象在javaScript引擎编译的时候就已经创建了,而通过构造函数创建的正则表达式对象是在运行时才创建的。 RegExp 构造函数还可以接受第二个参数,表示修饰符。 var regexp3 = new RegExp ( "abc" , "im" ) ; // 两者等价 var regexp4 = /abc/im ; 2. RegExp实例对象属性和方法 2.1 实例对象属性 正则表达式对象的实例属性分为两类: 与修饰符相关的属性 ignoreCase :返回布尔值,表示是否设置了 i 修饰符,只读。 global :返回布尔值,表示是否设置了 g 修饰符,只读。

pandas(1)

五迷三道 提交于 2020-02-06 05:24:43
文章目录 安装并使用Pandas Pandas对象简介 Pandas的Series对象 Series是广义的Numpy数组 Series是特殊的字典 创建Series对象 Pandas的DataFrame对象 DataFrame是广义的Numpy数组 DataFrame是特殊的字典 创建DataFrame对象 Pandas的Index对象 将Index看作不可变数组 将Index看作有序集合 《Python数据科学手册》读书笔记 安装并使用Pandas import numpy as np # 检查pandas的版本号 import pandas as pd pd . __version__ '0.23.4' pd? Pandas对象简介 如果从底层视角观察Pandas,可以把它们看成增强版的Numpy结构化数组,行列都不再是简单的整数索引,还可以带上标签。 先来看看Pandas三个基本的数据结构: Series DataFrame Index Pandas的Series对象 Pandas的Series对象是一个带索引数据构成的一维数组,可以用一个数组创建Series对象 data = pd . Series ( [ 0.25 , 0.5 , 0.75 , 1.0 ] ) data 0 0.25 1 0.50 2 0.75 3 1.00 dtype: float64

Java数据类型和内存分配

随声附和 提交于 2020-02-06 04:05:51
Java的数据类型两大类: 1、基本数据类型:定以后直接分配内存空间,存储在栈中。 又可细分为: 数值型:整数byte/short/int/long及浮点float/double; 字符型char; 布尔型boolean; 2、引用数据类型:栈中存储引用指针地址,指向实际存放的堆; 又可分为: 类class; 接口interface; 数组array; ================================================================= Java内存管理与数据类型关系 学习 根据上面,需要了解Java内存,以下内容斜体字摘至: http://www.cnblogs.com/whgw/archive/2011/09/29/2194997.html Java内存分两类:栈内存和堆内存。 简单说,程序操作基本数据类型是直接操作栈内存中的数据,操作引用数据类型是通过栈中的地址访问其指向的堆内存。而管理堆内存由java 的虚拟机负责。 “ 堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首地址,在栈中的这个特殊的变量就变成了数组或者对象的引用变量

JavaScript

懵懂的女人 提交于 2020-02-05 19:38:52
JavaScript JavaScript引入方式 script标签内写代码 <script>在这里写JS代码</script> 引入额外的JS文件 <script src="myscript.js"></script> JavaScript语言规范 注释 // 单行注释 /* 多行注释 */ JavaScript语言基础 变量声明 JavaScript的变量名可以使用数字、字母、_、$组成,但是不能以数字开头。 声明变量使用 var 变量名; 的格式来声明。 var name="xiaowu"; var age=18; 注意 变量名是区分大小写的。 推荐使用驼峰式命名规则。 保留字(关键字)不能用做变量名。 JavaScript数据类型 JavaScript拥有动态类型 var x; // 此时x是underfined var x=1; // 此时x是数字 var x="xiaowu"; // 此时x是字符串 数值(Number) JavaScript不区分整型和浮点型,只有一种数字类型。 var a=18; var b=18.18; var c=123e3; // 123000 var d=123e-3 // 0.123 还有一种NaN,表示不是一个数字(Not a Number)。 常用方法: parseInt("123") // 返回123 parseInt("abc")

js 数组对象去重

梦想与她 提交于 2020-02-05 19:23:52
let hash = {}; let config = [ { name: 2, state: true, output: 'Y'}, { name: 3, state: true, output: 'A'}, { name: 5, state: true, output: 'S'}, { name: 7, state: true, output: 'B'} ]; config = [...config, { // 合并数组 ...运算符即为数组展开运算符 name: 3, state: false, output: 'A', }] const newArr = config.reduce((item, next) => { console.log('hash--',hash) console.log('next--',next.name) console.log('hash[next.name]--',hash[next.name]) hash[next.name] ? '' : hash[next.name] = true && item.push(next); return item }, []); //[{"name":2,"state":true,"output":"Y"},{"name":3,"state":true,"output":"A"},{"name":5,