11.2持有(容纳)对象基本概念
来源:互联网 发布:htpc 播放软件 编辑:程序博客网 时间:2024/05/16 08:03
11.2持有(容纳)对象基本概念
容器的作用就是“保存对象”。两个不同概念
1.Collection一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存,Set不能有重复元素。Queue按照排队规则来确定对象的产生顺序(与他们插入的顺序相同)
2.Map:一组成对的“键值对”对象,用键查值。ArrayList可以用下标(索引)来查值,某种意义上它将数字与对象关联在了一起。映射表可以用另一个对象来查找某个对象,它也被称为“关联数组”,因为它将某些对象与另外一些对象关联在了一起,或者被称为“字典”,可以用键对象来查找值对象,像字典一样。
若集合中放置确切的类型对象:List apples = new ArrayList();
这里,ArrayList已经被向上转型为List,使用接口的目的是如果要修改你的实现,只需修改类型即可:
List apples = new LinkedList();
只需要创建一个具体类的对象,将其转型为对应的接口。
LinkedList有List接口中没有的方法,TreeMap在Map接口中也有Map中没有的方法。如果你想使用类型实现特有方法,就不能向上转型为更通用的接口。
Collection接口概括了序列的概念:存放一组对象。
package cn.wangs.c11.$11_1_2;
import java.util.ArrayList;
import java.util.Collection;
public class SimpleCollection {
public static void main(String[] args) {
Collection c = new ArrayList();
for (int i = 0; i < 10; i++) {
c.add(i);
}
for (Integer i : c) {
System.out.print(i+”,”);
}
}
}
任何继承自Collection的类的对象都可以正常工作,但是ArrayList是最基本的序列类型。
add()表示把一个新元素放置到Collection中,“要确保这个Collection包含指定的元素”。Set中只要元素不相同的情况下才会添加。ArrayList中,或者任何种类的List时,add()总是表示“把它放进去”,不关心是否存在重复。
所有的Collection都能用foreach语法遍历。“迭代器”将会更灵活。
练习2:修改SimpleCollection.java 用Set来表示c
package cn.wangs.c11.$11_1_2;
import java.util.HashSet;
import java.util.Set;
public class SimpleCollection {
public static void main(String[] args) {
Set c = new HashSet();
for (int i = 0; i < 10; i++) {
c.add(i);
}
for (Integer i : c) {
System.out.print(i+”,”);
}
}
}
练习3:修改Innerclass/Sequence.java,使可以向其中添加任意数量的元素(回头做?)
- 11.2持有(容纳)对象基本概念
- 十一章:持有对象(2、基本概念)
- 持有对象(容器)
- 持有对象(集合)
- 持有对象
- 持有对象
- 持有对象
- 持有对象
- 持有对象
- 持有对象
- 持有对象
- 持有对象
- ch8 对象的容纳
- 对象的容纳
- 8、对象的容纳
- 对象的容纳
- Java:对象容纳
- <Java编程思想>持有对象(笔记)
- c# winform下调用命令行
- Liunx计划任务and同步时钟
- jqgrid行内编辑,保存
- JSON与XML的区别比较
- bootstrap——组件(三、按钮式下拉菜单)
- 11.2持有(容纳)对象基本概念
- html5拨打电话及发短信
- android图片三级缓存
- Fusioncharts参数
- 5 spring AOP的一个例子
- TCP协议的三次握手和四次挥手
- select的联动
- freescale imx6 linux gpio中断驱动
- Spring和quartz 动态暂停