《Java编程思想》笔记
第十章
(1)当生成一个内部类的对象时。此对象 与制造他的外围对象之间就有了一种联系,所以它能訪问其外围对象的全部成员,而不须要不论什么特殊条件。
此外,内部类还拥有其它外围类的全部元素的訪问权。
(2).this 假设你须要生成对外部类对象的应用。能够使用外部类的名字后面紧跟原点和this。
.new 假设想要创建某个内部类的对象,你必须外部类的一个实例后加上.new
如:DotNew dn = new DotNew();
DotNew.Inner dni = dn.new Inner;
(3)记住。
接口的全部成员自己主动被设置为public();
(4)假设定义一个匿名内部类或者局部内部类。而且希望它使用一个在其外部定义的对象,那么编译器会要求參数引用是final的。
第十一章
(1)collection衍生3中容器。list,set。queue。List,它以特定的顺序保存一组数据;set,元素不能反复。queue,仅仅同意在容器的一端插入对象,并从还有一端移除对象。
Map在每一个槽内保存了两个对象。即检和与子相关联的值。
(2)HashList、HashMap是最快获取元素的方式
TreeList、TreeMap存储顺序依照字母升序
LinkedHashSet、LinkedHashMap存储依照被加入的顺序
(3)迭代器Iterator有next(),hasnext(),remove()三种方法
子类ListIterator更加强大,有next().hasnext(),nextIndex().previous(),hasprevious(),previoueIndex()方法,
另外,listIterator能够使用set()方法替换当前节点,能够通过调用listIterator(n)产生一个一開始就指向n号元素的ListIterator。
ListIterator实现倒叙:
import java.util.*;
import xpf.test; public class ListIteration {
public static void main(String args[]){
List<Integer> s =new ArrayList<Integer>(8);
Collections.addAll(s,0,1,2,3,4,5,6,7); ListIterator<Integer> it = s.listIterator();
it=s.listIterator(s.size()-1); while(it.hasPrevious()){
System.out.println(" "+it.previous());
}
System.out.println(); }
}
题目:使用String“键”和你选择的对象填充LinkedHashMap。然后从中提取键值对,键值排序,然后又一次插入此Map
import java.util.*;
import static org.greggordon.tools.Print.*; public class Ex24{
public static void main(String[] args) {
Map<String,Integer> m =
new LinkedHashMap<String,Integer>();
m.put("ten", 10);
m.put("nine", 9);
m.put("eight", 8);
m.put("seven", 7);
m.put("six", 6);
m.put("five", 5);
m.put("four", 4);
m.put("three", 3);
m.put("two", 2);
m.put("one", 1);
m.put("zero", 0);
println("Map to sort: " + m);
// temporary map to hold entrys:
Map<String,Integer> mTemp =
new LinkedHashMap<String,Integer>();
// use TreeSet to sort the keySet():
Set<String> ss = new TreeSet<String>(m.keySet());
// mover sorted keys to temp map:
Iterator<String> itss = ss.iterator();
while(itss.hasNext()) {
String s = (String)itss.next();
Integer i = m.get(s);
m.remove(s);
mTemp.put(s, i);
}
// get sorted list of temp keys:
Set<String> ssTemp =
new TreeSet<String>(mTemp.keySet());
// move sorted entrys back to map:
Iterator<String> itssTemp = ssTemp.iterator();
while(itssTemp.hasNext()) {
String s = (String)itssTemp.next();
Integer i = mTemp.get(s);
mTemp.remove(s);
m.put(s, i);
}
// done with temp:
mTemp.clear();
println("Sorted map: " + m);
}
}
(4)priorityQueue
仅仅保证队列首个元素是最重要的,内部其它元素不保证依照重要度排序。
事实上它是在维护一个最大堆。
具体可參考http://blog.csdn.net/chengyingzhilian/article/details/8078032
《Java编程思想》笔记的更多相关文章
- HTML+CSS笔记 CSS笔记集合
HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...
- CSS笔记--选择器
CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- HTML+CSS笔记 CSS中级 颜色&长度值
颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...
- HTML+CSS笔记 CSS中级 缩写入门
盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...
- HTML+CSS笔记 CSS进阶再续
CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...
- HTML+CSS笔记 CSS进阶续集
元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...
- HTML+CSS笔记 CSS进阶
文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...
- HTML+CSS笔记 CSS入门续集
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...
- HTML+CSS笔记 CSS入门
简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...
随机推荐
- vs2010 视图 aspx页面设计窗口创建控件时出错 未将对象引用设置到对象的实例
第一步,首先关闭aspx页面 第二步,在单击项目右击,选择“清理” 第三步,然后在打开aspx页面,就可以看到正常的页面了. 注:一次不行的会,多做几次. 如果还是不行的话,你看看你.cs页面是否继承 ...
- C#模拟百度登录并到指定网站评论回帖(一)
核心信息: 请求网址: https://passport.baidu.com/v2/api/?login请求方法: POST状态码: HTTP/1.1 200 OK请求头 //用户代理 Use ...
- Unity3d dotween
位置 1. 移动到指定位置 obj.transform.DOMove(, , ), 2f); a. 单方向可以用DOMoveX.DOMoveY.DOMoveZ b. 本地坐标系版本:DOLocalMo ...
- Android热修复方案比较
热修复的特点:无需重新发版,实时高效热修复:用户无感知修复,无需下载新的应用,代价小: 修复成功率高,把损失降到最低. 一.热修复开源方案和使用情况 方案名称 方案开发公司 开发时间 Github星评 ...
- 高级Java知识
高级Java知识(JVM.字节码.内存模型) 内存=方法区+栈空间+堆+程序计数器 栈(stack)包括虚拟机栈(VM stack)和本地方法栈(native method stack). 方法区(m ...
- ElasticSearch-5.21安装
环境 操作系统:Centos 6.5 X64 IP地址:192.168.56.100 JDK 环境: # java -version java version "1.8.0_121" ...
- WPF中的两个绑定场景
1. 如何在诸如ListBox这样的项中绑定父类数据上下文. <ListBox Grid.Row=" ItemsSource="{Binding Entries}" ...
- bat配置JDK环境变量
最近总是部署服务器,总是要安装配置JDK,今天就想写个bat来配置JDK的环境变量,首先介绍点bat的小知识 @符号后面的命令不会显示在terminal上 例如: @echo运行时 隐藏命令(不在te ...
- 安卓手机安装charles安全证书
本次安装使用小米mix2为例. 手机浏览器上安装: 第一种: 1.首先 设置好手机的charles代理 172.16.xxx.xxx 8888 2.要使用 打开非自带浏览器(夸克/QQ/UC手 ...
- 1 Web 知识基础
一.什么是跨域访问举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容.如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.你可以理解为两个域名之间不能跨过域名来发送请求或者请求 ...