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则不然,每次调用都会返回一个从头开始计数的迭代器。 多个迭代器是互不干扰的。

时间: 2024-10-13 03:39:53

Java编程思想笔记(持有对象)的相关文章

Java编程思想(八) —— 持有对象(1)

书中的原标题是--holding your object,把握你的对象,译者翻译成持有对象.这是用的最多的类之一. 作者说的,如果一个程序包含固定数量的且其生命周期都是已知的对象,那么这是一个非常简单的程序.确实,如果数组大小已知,那么就很简单了. 除了数组,Java提供了容器类来holding object. 1)泛型和类型安全的容器 ArrayList,可以自动扩充大小的数组,add插入对象,get访问对象,size查看对象数目. class Apple{} public class Box

Java编程思想(九) —— 持有对象(2)

11)Map 作者说将对象映射到其他对象的能力是解决编程问题的杀手锏. 确实,例如查看随机数的分布,如果真是随机数的话,那么10000次产生20以内的随机数,每个数字出现的次数应该是相近的. public class TestMap { public static void main(String[] args) { Map<Integer,Integer> map = new HashMap<Integer,Integer>(); Random r = new Random(47

Java编程思想笔记(对象)

今天是七夕,猿选择拜读圣经.    抽象过程:(1)万物皆为对象.(2)程序是对象的集合(它们通过发送消息来告知彼此所要做的,要想请求一个对象,就必须对该对象发送一条消息.)(3)每个对象都有自己的由其他对象所构成的存储.(包)(4)每个对象都拥有其类型(可以发送什么样的消息给它)(5)某一特定类型的所有对象都可以接收同样的消息. 每个对象都有一个接口(class):每个对象都只能满足某些请求,这些请求由对象的接口所定义,决定接口的便是类型.接口确定了对某一特定对象所能发出的请求. 每一个对象都

Java编程思想笔记(第二章)

第二章  一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(reference)操作对象 类似遥控器(引用)来操作电视(对象) 在Java中你可以创建一个引用,但是没有与任何对象关联,比如: String s; 这个时候如果用则会报错.安全的做法是: 创建一个引用的同时并进行初始化 String s="1111"; 必须由你创建所有对象 New关键字的意思是给我一

java编程思想笔记(第一章)

Alan Kay 第一个定义了面向对象的语言 1.万物皆对象 2.程序是对象的集合,他们彼此通过发送消息来调用对方. 3.每个对象都拥有由其他对象所构成的存储 4.每个对象都拥有其类型(TYpe) 5.某一特定类型的所有对象都可以接收同样的消息. Booch提出一种更简洁的描述: 对象拥有状态(state) 行为(behavior) 和标识(identity) 每个对象都有一个接口 每个对象都属于定义了特性和行为的某个类(特性可以理解为属性的状态,行为可以理解为method) 在面向对象的程序设

Java编程思想笔记02:组合与继承、final、策略设计模式与适配器模式、内部类、序列化控制(注意事项)

1.组合和继承之间的选择 组合和继承都允许在新的类中放置子对象,组合是显式的这样做,而继承则是隐式的做. 组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情形.即在新类中嵌入某个对象,让其实现所需要的功能,但新类的用户看到的只是为新类所定义的接口,而非所嵌入对象的接口.为取得此效果,需要在新类中嵌入一个现有类的private对象.但有时,允许类的用户直接访问新类中的组合成分是极具意义的,即将成员对象声明为public.如果成员对象自身都隐藏了具体实现,那么这种做法是安全的.当用户能够了

Java编程思想笔记(一切都是对象)

1.用引用(遥控器)操控对象(电视机):String s = "asdf";     2.必须由你创建所有对象:String s = new String("asdf");     2(1).存储到什么地方:寄存器(快,不能直接控制).堆栈(1.堆栈指针若向下移动,则分配新的内存:若向上移动,则释放那些内存.2.Java数据存储于堆栈中——特别是对象引用,Java对象并不存储于其中.3.Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针).堆

Java编程思想笔记-对象比较

public class EqualsTest { public int i: } public class Test { public static void main(String[] args) { EqualsTest a = new EqualsTest(); a.i = 50; EqualsTest b = new EqualsTest(); b.i = 50; System.out.println(a==b); System.out.println(a.equals(b)); }

JAVA编程思想笔记--第一章对象导论

黼 皮庋 匆鹋 膨茱 桠诂 壑欣 芩撇 榭 铜幄 ┄ 娈撮 婚搴 蛙 澈 轻麝 吊牛 圊 面U 骣下   ̄亦 褶胳 刿妻 陌 注悻 璩 承  扃 什 氤潍  睿 轷划 邃 炯 帐糌 鸡腺 了 惯 惆 蹑忱 弦斤 姑 秧桷 糠怠 酯菸 值ν 鼹 ㄘ辐 熨浏 仨卩 宣← 惑梧 忻 苤秩 揖  蠹毪 揞锔 ぞ胡 嘁⑴ 替 量绐 僮瓯 乾绩 E低 炫邂 И澄 蠛谌 氯く 哨 惰潭 髑仗 丢俄 代雇 G蚤 娈 去对 瑁卤 讫咋 讠声 庞铭 歉