Java编程思想笔记(持有对象)
1.泛型和类型安全的容器
2.基本概念
3.添加一组元素:Arrays.asList()方法接受一个数组或是一个用逗号分隔的元素列表(使用可变参数),并将其转换为一个LIst对象。Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分割的列表,将元素添加到Collection中。Collection.addAll()成员方法只能接受另一个Collection对象作为参数,因此它不如Arrays.asList()或Collections.addAll()灵活,这两个方法使用的都是可变参数列表。
4.容器的打印:List,它以特定的顺序保存一组元素;set,元素不能重复;Queue,只允许在容器的一“端”插入对象,并从另外一“端”移除对象。Map在每个槽内保存了两个对象,即键和与之相关联的值。
5.List:ArrayList,它长于随机访问元素,但是在List的中间插入和移除元素时较慢。LinkedList,它通过代价较低的在List中间进行的插入和删除操作,提供了优化的顺序访问。
6.迭代器:Java的Iterator只能单向移动,这个Iterator只能用来:1.使用方法iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素。2.使用next()获得序列中的下一个元素。3.使用hasNext()检查序列中是否还有元素。4.使用remove()将迭代器新返回的元素删除。
6(1).ListIterator:只能用于各种List类的访问;可以双向移动;产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引,并且可以使用set()方法替换它访问过的最后一个元素;通过调用listIterator()方法产生一个指向List开始处的ListIterator,并且还可以通过调用ListIterator(n)方法创建一个一开始就指向列表索引为n的元素处的ListIterator。
7.LinkedList
8.Stack:“栈”通常是指“后进先出”的容器。push()接受的是T类型的对象,而peek()和pop()将返回T类型的对象。peek()方法将提供栈顶元素,但是并不将其从栈顶移除。
9.Set
10.Map
11.Queue:队列是一个典型的先进先出的容器。offer()方法是与Queue相关的方法之一,它在允许的情况下,将一个元素插入到队尾,或者返回false。peek()和element()都将在不移除的情况下返回对头,但是peek()方法在队列为空时返回null,而element()会抛出NoSuchElementException异常。poll()和remove()方法将移除并返回队头,但是poll()在队列为空时返回null,而remove()会抛出NoSuchElementException异常。
11(1).PriorityQueue:优先级队列声明下一个弹出元素是最需要的元素(具有最高的优先级)。
12.Collection和Iterator
13.Foreach与迭代器
13(1).适配器方法惯用法
补充:Iterator是迭代器类,而Iterable是接口。因为Iterator接口的核心方法next()或者hasNext() 是依赖于迭代器的当前迭代位置的。 如果Collection直接实现Iterator接口,势必导致集合对象中包含当前迭代位置的数据(指针)。 当集合在不同方法间被传递时,由于当前迭代位置不可预置,那么next()方法的结果会变成不可预知。 除非再为Iterator接口添加一个reset()方法,用来重置当前迭代位置。 但即时这样,Collection也只能同时存在一个当前迭代位置。 而Iterable则不然,每次调用都会返回一个从头开始计数的迭代器。 多个迭代器是互不干扰的。
转载于:https://www.cnblogs.com/Zara/p/5768550.html
Java编程思想笔记(持有对象)相关推荐
- Java编程思想学习(一)----对象导论中多态的理解
1.1抽象过程 1)万物皆对象. 2)程序是对象的集合,他们通过发送消息来告知彼此所要求做的. 3)每个对象都有自己的由其他对象所构成的存储. 4)每个对象都拥有其类型. 5)某一特定类型的所有对象都 ...
- java 编程思想 笔记_java编程思想笔记20170215
importjava.util.ArrayList;importjava.util.List;public classTest {public static voidmain(String[] arg ...
- java编程思想----8,对象的容纳
第8章 对象的容纳 "如果一个程序只含有数量固定的对象,而且已知它们的存在时间,那么这个程序可以说是相当简单的." 通常,我们的程序需要根据程序运行时才知道的一些标准创建新对象.除 ...
- Java编程思想笔记——并发3
终结任务 装饰性花园 公园人数共享计数值递增: class Count {private int count = 0;private Random rand = new Random(47);// R ...
- JAVA编程思想笔记 : 并发 [ 一 ]
程序中的所有事物,在任意时刻都只能执行一个步骤. 并发的多面性 并发解决的问题大体上可以分为"速度"和"设计可管理性"两种 并发通常是提高运行在单处理器上的程序 ...
- Java编程思想笔记——容器深入研究1
完整的容器分类法 Java SE5新添加了: 1.Queue接口(LinkedList已经为实现该接口做了修改)及其实现PriorityQueue和各种风格的BlockingQueue. 2.Conc ...
- java 编程思想笔记(七)——异常
1.什么是异常 java中的异常指的是程序中的异常(不包括硬件异常(内存溢出等)),比如:语法错误(少写分号),除数为0,nullPoint等. 2.为啥需要异常 谁也不想代码在运行的时候,突然程序出 ...
- 【Java编程思想笔记】-集合1
1.为什么要用集合? 一般情况下,数组是保存一组对象(或基本数据类型)最有效的方式.但是数组有着固定的尺寸,而在更一般的情况下,我们在写程序时不知道将需要保存多少个对象,或者是否需要更复杂的存储结构来 ...
- Java中的移位操作——Java编程思想笔记
欢迎转载,转载请务必注明出处: http://blog.csdn.net/alading2009/article/details/39968281 Java中的移位操作包括 <<(无符号左 ...
最新文章
- linux下配置oracle 10G EM Database Console
- 阻止路由跳转得方式_vue路由拦截及页面跳转的设置方法
- oracle numtodsinterval and numtoyminterval 使用法则
- 7 个显著提升编码效率的IntelliJ IDEA必备插件
- Android 开发环境建立
- 039_CSS3边框
- 电脑已经连上网却显示没网图标小地球,导致国际游戏暴雪等软件无法运行(已解决)
- Android简明开发教程二十一:访问Internet 绘制在线地图
- php操作redis_PHP操作Redis的基本方法
- pythonexcel最好得库_Python操作Excel,你觉得哪个库更好呢?
- Effects with the Pixel Bender Toolkit
- mysql 百度地图 省市_批量获取百度地图的行政区划电子围栏
- 操作系统概述(发展,特性,功能)
- 高得地图 +数据绑定(databinding) + BaseQuickAdapter 自定义地图选点!
- Syste类 及常用方法
- 趣头条:资讯界的拼多多?
- 易语言如何使用处理事件
- 第8节 实例-写个简单的操作器
- wifi网络信息查看
- 【愚公系列】华为云轻应用之手把手教你用搭一个WeLink上的出差应用丨【AppCube X WeLink双剑合璧】