next

《Java核心卷 I》第10版阅读笔记(书第9章开始)

混江龙づ霸主 提交于 2020-10-01 08:07:48
文章目录 第八章 集合 8.1 Java 集合框架 8.1.1 将集合的接口与实现分离 8.1.2 Collection 接口 8.1.3 迭代器 8.1.4 泛型实用方法 8.1.5 集合框架中的接口 8.2 具体的集合 8.2.2 数组列表 8.2.3 散列集 8.2.4 树集 8.2.5 队列与双端队列 8.2.6 优先级队列 8.3 映射 8.3.1 基本映射操作 8.3.2 更新映射项 8.3.3 映射视图 8.3.4 弱散列映射 8.3.5 链接散列集与映射 8.3.6 枚举集与映射 8.3.7 标识散列映射 8.4 视图与包装器 8.4.1 轻量级集合包装器 8.4.2 子范围 8.4.3 不可修改的视图 8.4.4 同步视图 8.4.5 受查视图 8.4.6 关于可选操作的说明 8.5 算法 8.5.1 排序与混排 8.5.2 二分查找 8.5.3 简单算法 8.5.4 批操作 8.5.5 集合与数组的转换 8.5.6 编写自己的算法 8.6 遗留的集合 8.6.1 Hashtable类 8.6.2 枚举 8.6.3 属性映射 8.6.4栈 8.6.5 位集 day31 第八章 集合 8.1 Java 集合框架 8.1.1 将集合的接口与实现分离 ● 队列 (queue) 是如何分离的? 队列的简化接口如下图 队列通常有两种实现方式: 一种是使用循环数 组

python yield生成器函数

坚强是说给别人听的谎言 提交于 2020-10-01 08:06:03
yield是python的一个关键字,本质上是一个生成器generator。 生成器是一种特殊的函数,它会返回一个迭代器。定义一个生成器函数同定义一个普通函数没有什么区别,特殊之处在于生成器函数内部会包含yield表达式,专门用于生成一个序列。当一个生成器函数被调用时,它会返回一个迭代器。之后就由这个迭代器来控制生成器函数的执行。当生成器函数被调用后,首先会执行到第一个yield表达式处,然后会将生成器函数挂起,将yield生成的表达式的值返回给生成器函数的调用者。当生成器函数被挂起时,它的所有局部状态都会被保存起来,包括当前绑定的局部变量、指令指针、内部栈和异常处理的状态。当调用迭代器的方法时,一般都是调用next()方法,将会恢复生成器函数的执行,并且是从上次被挂起的地方继续执行,直到遇到另外一次yield调用,生成器函数将再次被挂起。 在一个生成器函数中,如果没有 return,则默认执行至函数完毕,如果在执行过程中 return,则直接抛出 StopIteration 终止迭代。 下面通过斐波那契数列的经典案例来体系yield的优秀特性。实际上函数fab已经不是一个普通函数,而是一个生成器。 #!/usr/bin/python # -*- coding: UTF-8 -*- def fab(max): n, a, b = 0, 0, 1 while n < max:

例子-给oracle添加自增长字段

守給你的承諾、 提交于 2020-10-01 07:41:26
--创建油箱标定表GasDemarcate /*drop table GasDemarcate; drop Sequence SEQ_GasDemarcate_ID; drop TRIGGER Trig_Update_GasDemarcate_ID; drop TRIGGER Trig_ProPri_GasDemarcate_ID; select from GasDemarcate insert into GasDemarcate(GASSIZEID) values(15); commit; delete GasDemarcate / / ============================================================== / / Table: "GasDemarcate" / / ============================================================== / create table GasDemarcate ( ID INTEGER not null, GASSIZEID INTEGER, OILVALUE FLOAT, SENSORVAL FLOAT, constraint PK_GASDEMARCATE_ID primary key (ID) ); comment on column

Java基础-集合

喜你入骨 提交于 2020-10-01 05:45:04
集合 集合的概念 集合是对象的容器,定义了对多个对象进行操作的常用方法,可实现数组的功能 集合和数组的区别: 数组长度固定,集合长度不固定 数组可以存储基本类型和引用类型,集合只能存储引用类型 Collection体系集合 Collection父接口方法 Iterator<E>iterator() 返回一个用于访问集合中各个元素的迭代器 int size() 返回当前存储在集合中的元素个数 boolean isEmpty() 如果集合中没有元素,返回true boolean contains(Object obj) 如果集合中包含了一个与obj相等的对象,返回true boolean containsAll(Collection<?> other) 如果这个集合包含other集合中的所以元素,返回true boolean add(E element) 将一个元素添加到集合中,如果由于这个调用改变了集合,返回true boolean addAll(Collection<? extends E> other) 将other集合中所以元素添加到这个集合.如果由于这个调用改变了集合,返回true boolean remove(Object obj) 从这个集合中删除等于obj的对象.如果有匹配的对象被删除,返回true boolean removeAll(Collectin<?>

Build Your First VR App(unity for oculus)

允我心安 提交于 2020-10-01 02:32:31
This tutorial helps you build your first VR app in Unity. It’s a basic app, which introduces primary Unity concepts such as 3D objects, components, and build settings. It does not use Oculus Integration package as the objective of this tutorial is to get you started with Unity’s basic concepts and interface. At the end, you’ll have a VR app ready to run on your computer. What’s the app about? It’s a simple game! The scene contains a play area surrounded by four walls and a ball that acts as a player. The objective of the game is to keep the ball rolling without colliding with the walls. If it

Java封装简体繁体(香港&台湾)转换工具

穿精又带淫゛_ 提交于 2020-09-30 17:04:09
简体繁体转换 新建工具类:HKTWwordVO import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Properties; import java.util.Set; /** * 类名称:HKTWwordVO * 类描述:香港、台湾字体库 * * @author 兮赫 * Created by 2020-08-24 18:52 */ public class HKTWwordVO { /** 所有词汇 */ private Properties charMap = new Properties(); /** 高频词汇 */ private Set<String> conflictingSets = new HashSet<String>(); /** 繁体_台湾 */ public

ReentrantLock、AQS 源码分析

大城市里の小女人 提交于 2020-09-30 17:00:31
如果 把ReentrantLock比做一个人的话,那么 AQS 就是他的灵魂。离开 AQS 谈论锁都是耍流氓 ReentrantLock and AQS 一.AQS使用方式和其中的设计模式 二.重要参数 三.了解其中的方法 1.模板方法:    独占式获取    共享式获取    独占式释放锁    共享式释放锁 2.需要子类覆盖的流程方法 3.同步状态state: 三、源码 1.lock 实现类源码:ReentrantLock 为例 AbstractQueuedSynchronizer 源码 如下为 addWaiter 方法 这一支的操作。 如下为acquireQueued 的操作 总结 2.unlock 四、ReentrantLock源码分析 1.构造器 2. 非公平锁获取锁 3.公平锁获取锁 4.释放锁 一.AQS使用方式和其中的设计模式 继承,模板方法设计模式 二.重要参数 private volatile int state; 记录当前锁是否有线程拿到锁、一个线程进入锁的重入数。如果是0,代表没有任何线程进入锁。如果是 n,n>0 那么代表有个线程重入了 n 次 AbstractOwnableSynchronizer: private transient Thread exclusiveOwnerThread:当前拿锁的线程 volatile int waitStatus

idea如何导入一个maven项目

岁酱吖の 提交于 2020-09-30 16:49:14
1.import project 2.选择maven项目 3.选择第二个external moudle,选择maven, 4.点击next,一次点击1,2,3,4 5.设置maven环境 6.点击ok,next,勾选快照 7.点击next,next 8.没设置jdk,此处需要配置,已配置,略过这步 点击+,选择jdk,所在路径,点击next, 9.点击Finish即可 到此结束! 来源: oschina 链接: https://my.oschina.net/u/4361024/blog/4525309

模板库

£可爱£侵袭症+ 提交于 2020-09-30 15:58:27
呼,终于在考试之前复习了一遍所有模板。 球NOIP不跪! BigNumber 1 #include <iostream> 2 #include <cstdio> 3 #include < string > 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 const int maxlen= 3100 ; 8 struct bigint 9 { 10 int a[maxlen],len; 11 bigint() 12 { 13 memset(a, 0 , sizeof a); 14 len= 1 ; 15 } 16 bigint( string str) 17 { 18 memset(a, 0 , sizeof a); 19 len= str.length(); 20 for ( int i= 1 ;i<=len;i++)a[i]=str[len-i]- ' 0 ' ; 21 } 22 bigint( int num) 23 { 24 memset(a, 0 , sizeof a); 25 len= 0 ; 26 if (num== 0 )len++ ; 27 else while (num)a[++len]=num% 10 ,num/= 10 ; 28 } 29 string tostring(

了解HTML锚点

巧了我就是萌 提交于 2020-09-30 15:58:03
概念  <a> 元素 (或HTML锚元素, Anchor Element)通常用来表示一个锚点/链接。但严格来说,<a>元素不是一个链接,而是超文本锚点,可以链接到一个新文件、用id属性指向任何元素。如果没有<a>元素没有href属性的话,可以作为原本链接位置的占位符,常用于home链接   [注意]任何文档流内容都可以被嵌套,只要不是交互内容类别(如按钮、链接等) 属性 href   href属性表示地址,共包括以下3种:   1、链接地址 <a href= " http://www.baidu.com " >百度</a>   2、下载地址 <a href= " test.zip " >下载测试</a>   3、锚点     (1)href:#id名 <a href= " #test " >目录</a> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> <div id= " test " style= " height: 200px;width: 200px; border: 1px solid black;margin-bottom: 300px; " >内容</div>     (2)href:页面地址#id名 <a href= " http://baike.baidu