《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语言的一种继承. & ...
随机推荐
- struts2.1.6存在中文乱码的bug
如题,后续版本中已解决:可以通过添加filter的方式解决.
- 关于onActivityResult方法不执行的问题汇总
我们不生产代码, 只是大自然的搬运工. 首先致谢: https://blog.csdn.net/sbvfhp/article/details/26858441 场景描述: 在A activity(由 ...
- suse 下的gcc安装
在付出了一天的努力之后终于在win7系统上面硬盘安装suse操作系统成功,可是随之而来的问题居然是没有安装GCC,这对我来说是一个不小的打击,因为很多工作和工具安装需要通过GCC来编译,因此我只好求助 ...
- .net 大数据量,查找Where优化(List的Contains与Dictionary的ContainsKey的比较)
最近优化一个where查询条件,查询时间很慢,改为用Dictionary就很快了. 一.样例 假设:listPicsTemp 有100w条数据,pictures有1000w条数据. 使用第1段代码执 ...
- JS——隐式全局变量
在函数中,var声明的是局部变量,不带var的是隐式全局变量 <script> function fn() { var a = b = c = 0;//a是局部变量,b.c是全局变量 va ...
- iOS UIWebView 访问https绕过证书验证的方法
@implementation NSURLRequest (NSURLRequestWithIgnoreSSL) + (BOOL)allowsAnyHTTPSCertificateForHost:(N ...
- 在对话框添加bitmap
CBitmap bitmap; //加载指定位图资源 Bmp图片ID bitmap.LoadBitmap(IDB_BITMAP1); //获取对话框上的句柄 图片控件ID CStatic *p = ( ...
- 11.11如何卖到一个亿:从0到1的电商爆品打造术 电子书 PDF
内容转自:https://download.csdn.net/download/chenyao1994/11191034 下载地址:https://pan.baidu.com/s/1uQ1cjm9QH ...
- Python编码格式导致的csv读取错误
Python编码格式导致的csv读取错误(pandas.read_csv) 本文记录python小白我今天遇到的这两个问题(csv.reader和pandas.csv_read): pandas模块“ ...
- GitHub:创建和修改远程仓库
创建远程仓库 首先在GitHub上创建一个仓库命名为learngit.选中public(private要钱),选中 生成README(就是markdown形式的说明文档),便于别人和自己了解仓库的作用 ...