数学集合

Java集合类: Set、List、Map、Queue使用

自作多情 提交于 2020-03-29 20:23:20
目录 1. Java集合类基本概念 2. Java集合类架构层次关系 3. Java集合类的应用场景代码 1. Java集合类基本概念 在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。 集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,java5还在java.util.concurrent包下提供了一些多线程支持的集合类。 在学习Java中的集合类的API、编程原理的时候,我们一定要明白,"集合"是一个很古老的数学概念,它远远早于Java的出现。从数学概念的角度来理解集合能帮助我们更好的理解编程中什么时候该使用什么类型的集合类。 Java容器类类库的用途是"保存对象",并将其划分为两个不同的概念: 1) Collection 一组"对立"的元素,通常这些元素都服从某种规则   1.1) List必须保持元素特定的顺序   1.2) Set不能有重复元素   1.3) Queue保持一个队列(先进先出)的顺序 2) Map 一组成对的

陈纪修数学分析笔记-1.1 集合

陌路散爱 提交于 2020-03-25 10:29:55
近来打算趁着事情较少,学习一下数学分析,毕竟数学这东西,越早越学,越早养成思维,越有益处。 反复选择,最后来B站看了陈纪修的数学分析课程,用ipad写了笔记(也不知道能学多久)。前几年见过有大神用 \(\LaTeX\) 边上课边做笔记,于是我便打算试试Markdown来做一下,先把自己手写的打出来。 结论就是,大神就是大神,我连集合的符号都要不停地百度。。。算了,还是手写方便,更加专注于思路,毕竟 \(y(t)=1 - \frac{e^{-\zeta\omega_n t}}{\sqrt{1-\zeta^2}}\sin(\omega_n \sqrt{1-\zeta^2}t+\theta)\) 和 $y(t)=1 - \frac{e^{-\zeta\omega_n t}}{\sqrt{1-\zeta^2}}\sin(\omega_n \sqrt{1-\zeta^2}t+\theta)$ 相比,前者手写快多了。 所以下文应该是第一篇笔记,也可能是最后一篇。。。 1 集合与元素 §1 集合 集合概念 集合(集) : 具有某种特定性质,具体或抽象的对象汇集的总体。 集合的表示: 枚举法 光基色的集合:{R, G, B} \(\mathbb{N}^{+}={1, 2, 3, ..., n}\) \(\mathbb{Z}=\{0, \pm1, \pm2, ..., \pm n, ...\}\)

概率论中的名词解释(个人理解,非官方)- No1

被刻印的时光 ゝ 提交于 2020-03-23 10:43:03
各种名词让人看的眼花缭乱,其实把各种名词的含义理解清楚,才是学习概率论的第一步!!!comeon baby!! 走起!! 样本空间: 你目前做的试验可能出现的所有情况组成一个集合,这个集合就是样本空间。比如:你目前正在做抛硬币试验,那么集合S:{正面,反面,竖起来了}就是这个试验的样本空间。 样本点: 组成样本空间中每一个元素就是一个样本点。比如:正面、反面、竖起来了都是样本点。 随机事件: 千万不要把“随机事件”当成N次试验的其中的一次,那是大错特错!!!"随机事件"是一个集合(样本空间的子集),同样拿硬币试验举例子,我们把抛硬币正面朝上叫做一个随机事件,用很高达上的数学符号表示就是这样的"A:{t|t="正面"}",你没看错,这个集合就是抛硬币试验的一个随机事件。简称: 事件。 做实验的过程中,如果出现了正面朝上,我们叫做: 这一事件发生 。 基本事件: 还记得前面的样本点吗?如果一个随机事件,仅包含一个样本点,那就是基本事件了!!!比如抛硬币试验有三个基本事件:A1:{t|t="正面"},A2:{t|t="反面"},A3:{t|t="竖起来了"}。 必然事件、不可能事件: 样本空间为必然事件,空集为不可能事件。 --------------------------------------------------------啰嗦模式开启---------------------

2019-05-26 Java学习日记之Set集合

百般思念 提交于 2020-03-21 08:18:48
HashSet存储字符串并遍历: package com.set; import java.util.HashSet; public class Demo1 { /** * Set集合,无索引,不可以重复,无序(存取不一致) */ public static void main(String[] args) { HashSet<String> hs = new HashSet<>(); //创建HashSet对象 boolean b1 = hs.add("a"); boolean b2 = hs.add("a"); //当向set集合中存储重复元素时返回的是false hs.add("b"); hs.add("e"); hs.add("d"); System.out.println(hs); //HashSet的继承体系中有重写toString方法 System.out.println(b1); System.out.println(b2); for (String string : hs) { //只要能用迭代器的,就可以使用增强for循环 System.out.println(string); } } } HashSet存储自定义对象保证元素唯一性: public static void demo2() { HashSet<Person> hs = new HashSet<>(

python内置函数

╄→гoц情女王★ 提交于 2020-03-18 14:43:21
1、逻辑判断 all(iterable) -> bool 1、集合中的元素都为真时,返回true;2、特别的,集合为空,返回值为true any(iterable) -> bool 1、集合中有1个元素为真,就返回true;2、特别的,集合为空,返回false 2、数学运算类 函数名 函数功能 备注 abs(number) -> number 求绝对值 1、参数可以是整形,也可以是复数;2、参数为复数,则返回复数的模 divmod(x, y) -> (div, mod) 求商和余数 注意:整形和浮点型都可以 complex(real[, imag]) -> complex number 创建一个复数 complex还有1个方法conjugate:(3-4j).conjugate() == 3+4j 来源: https://www.cnblogs.com/Will-guo/p/6411826.html

C语言数据结构-绪论

瘦欲@ 提交于 2020-03-16 06:29:37
目录 1.数据结构的起源 2.基本概念和术语 3.逻辑结构与物理结构 4.抽象数据类型 @(数据结构绪论) 1.数据结构的起源 ==数据结构==是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的关系和操作等相关问题的学科。 1968年,美国的高德纳(Donald E.Knuth)的《计算机程序设计艺术》第一卷《基本语法》中,较系统地阐述了数据的逻辑结构和存储结构及其操作,开创了数据结构的课程体系。同年(1968年),数据结构作为一门独立的课程,在计算机科学的学位课程中开始出现。 程序设计 = 数据结构 + 算法 2.基本概念和术语 ==数据==:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据不仅仅包括整型、实型等 数值类型 ,还包括字符及声音、图像、视频等 非数值类型 它是计算机程序加工的“原料”。例如,一个利用数值分析方法解代数方程的程序,其处理对象是整数和实数。一个编译程序或文字处理程序的处理对象是字符串。 数据,其实就是 符号 ,并且具备两个前提 可以输入到计算机中。 能被计算机程序处理。 数值类型可以进行数值计算。 字符类型需要进行非数值的处理。而声音、图像、视频等是通过编码的手段变成字符数据来处理的。 ==数据元素==:是组成数据的、有一定意义的 基本单位 ,在计算机中通常作为整体处理。也被称为 记录 。

149.集合论

女生的网名这么多〃 提交于 2020-03-14 11:08:04
集合论是研究集合一般性质的数学分支,它的创始人是康托尔 现代数学中,每个对象(如数,函数等)本质上都是集合,都可以用某种集合来定义,数学的各个分支,本质上都是在研究某种对象集合的性质。集合论已成为现代全部数学的理论基础。 集合论的特点是研究对象的广泛性,它总结出由各种对象构成的集合的共同性质,并用统一的方法来处理。因此,集合论被广泛地应用于各种科学和技术领域。 由于集合论的语言适合于描述和研究离散对象及其关系,所以它也是计算机科学与工程的理论基础,而且在程序设计,数据结构,形式语言,关系数据库,操作系统等都有重要应用。 1.集合 1.1定义 集合:具有某种特殊性质的客体的聚合。 集合用大写的字母标记, 例如:A、B、C…… 元素:属于任何集合的任何客体。 元素用小写字母标记, 例如:a、b、c、…… 注意: ①元素与集合间的关系: 若 a 是集合 S 中的元素,则可写成 a∈ S ;  若b不是集 S 合中的元素,则可写成 b∈ S 。 ②集合 S 的 基数(势) :S中的元素个数。记为 |S| . ③有限集合:集合的基数(元素)是有限的。 无限集合:集合的基数(元素)是无限的。 常用集合符: I m (m≥1) 有限个正数的集合{1,2,3……m} N m (m≥0) 有限个自然数的集合{0,1,2……m} 以上是有限集合,下面是无限集合: N 自然数集合{0,1,2……} I+

Java 集合

ぐ巨炮叔叔 提交于 2020-03-14 08:20:20
所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。 Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。 Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List。 Map实现类用于保存具有映射关系的数据(key-value)。 Set、List和Map可以看做集合的三大类。 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。 Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。 Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。 接口 实现 历史集合类 Set HashSet TreeSet List ArrayList Vector LinkedList Stack Map HashMap Hashtable TreeMap Properties Collection Collection接口支持如添加和除去等基本操作。设法除去一个元素时

还在使用集合类完成这些功能?不妨来看看 Guava 集合类!!!

本小妞迷上赌 提交于 2020-03-13 08:10:04
博文地址: https://sourl.cn/CXgw9P 日常开发中,小黑哥经常需要用到 Java 提供集合类完成各种需求。Java 集合类虽然非常强大实用,但是提供功能还是有点薄弱。 举个例子,小黑哥最近接到一个需求,从输入一个文档中,统计一个关键词出现的次数。代码如下: 虽然这个需求使用 Map 可以轻松搞定,但是小黑哥还是觉得这种写法有点笨拙,如果没有判空,将会导致 NPE 异常。 如果很多地方需要功能,我们就可以抽象出来,将其封装成工具类。 不过上面的功能大家就不需要自己封装,一款来自 Google 开源工具类- Guava ,可以轻松的解决上面的统计问题。 Guava 介绍 Guava 是一款 Google 开源工具类,包含许多 Google 内部 Java 项目依赖的核心类。Guava 扩展 Java 基础类工程,比如集合,并发等,也增加一些其他强大功能,比如缓存,限流等功能。 另外 Guava 推出一些类,如 Optional ,甚至被 Java 开发者学习,后续增加到 JDK 中。 目前 Guava Github 仓库 已有 36k star ,可以见到 Guava 受欢迎程度。 Guava 核心功能包括多个模块,今天小黑哥主要带大家玩转 Guava 集合类。 扩展集合类 Guava 创造很多 JDK 没有,但是我们日常却明显有用的新集合类型。这些新类型使用

Guava-学习

我们两清 提交于 2020-03-06 16:12:16
学习准备 源码地址:https://github.com/google/guava API地址:https://guava.dev/releases/snapshot-jre/api/docs/ 学习方式:1、根据github说明使用 。2、下载源码,研究里面的测试例子。3、查看API里面的例子。 中文地址:https://ifeve.com/google-guava/ 概念说明-github网页翻译 Guava是Google的一组核心Java库,其中包括新的集合类型(例如多图和多集),不可变的集合,图形库以及用于并发,I / O,哈希,缓存,基元,字符串等的实用程序!它广泛用于Google的大多数Java项目中,也被许多其他公司广泛使用。 JRE版本需要JDK 1.8或更高版本。 Guava的好处 标准化 - Guava库是由谷歌托管。 高效 - 可靠,快速和有效的扩展JAVA标准库 优化 - Guava库经过高度的优化。 1. 函数式编程 -增加JAVA功能和处理能力。 2. 实用程序 - 提供了经常需要在应用程序开发的许多实用程序类。 3. 验证 -提供标准的故障安全验证机制。 4. 最佳实践 - 强调最佳的做法。 包含内容 一、基本工具 二、新集合类型 三、不可变集合 四、强大的集合工具 五、函数式编程 六、字符串处理 七、并发编程 八、原生类型 九、区间 十、缓存 十一