`
鬼大来晚了
  • 浏览: 67898 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Java学习笔记——持有对象

    博客分类:
  • Java
 
阅读更多
  通常,在程序运行之前是不知道所需对象的类型及数量的,为解决这个问题,需要在任意时刻任意位置创建不同类型的对象,java提供了一套完整的容器类来解决这个问题。

1、Java的容器类可以通过下表展示,容器不能持有基本类型。

Collection(基本接口):一个独立元素的序列
|-List(接口):按照插入的顺序保存对象
| |-ArrayList:优点:随机访问快,但是插入和删除慢
| |-LinkedList:访问相对慢,插入删除快
| |-Vector:和数组类似,能扩大和缩小,但是只能存放对象类实例(同步的,用的比较少)
| | |-Stack:先进后出
|-Queue:先进先出的容器,用来将对象从程序的有个区域传到另一个区域
|-Set:元素不能重复,最常用的是测试归属性
| |-HashSet:随机访问最快
| |-TreeSet:存贮在红黑树中,有序

Map:一组成对的“键值对”,类似字典功能
|-HashMap:提供最快的查找
||-LinkedHashMap:保持元素的插入顺序,通过散列提供了快速访问能力
|-TreeMap:保持“键”处于排序状态

2、容器的打印
对于数组必须使用Arrays.toString()产生可打印的表示。但是,打印容器无需任何帮助,可以直接使用print(容器对象)。这对程序的测试非常便利,尤其是Map的测试。

3、ArrayList是最常用的容器类型,

ArrayList的常用方法:

http://www.csl.mtu.edu/javadoc/api/java/util/ArrayList.html

boolean add(E e)添加元素
void add(int index, E element) 指定位置添加元素
boolean addAll(Collection<? extends E> c) 添加一组元素,只能接受另一个Collection对象
boolean addAll(int index, Collection<? extends E> c) 同上,只是在指定位置添加一组元素
void clear() 清空所有元素
Object clone() 返回当前list的浅表复制(之前说过浅表复制)
boolean contains(Object o) 测试归属性
void ensureCapacity(int minCapacity) 增加List的容量,保证最少容纳指定数量的元素
E get(int index) 返回指定位置的元素
int indexOf(Object o) 返回指定元素在List中的位置,没有返回-1;
boolean isEmpty() 测试是否为空
int lastIndexOf(Object o) 返回指定元素最后的索引位置
E remove(int index) 移出指定位置元素
boolean remove(Object o) 移出List第一个出现指定元素的元素
protected  void removeRange(int fromIndex, int toIndex) 移出一段索引位置的元素
E set(int index, E element) 在指定位置添加元素,如果该位置已有元素,替换该元素   
int size() 返回List的长度
Object[] toArray() 返回含有列表元素的数组
void trimToSize() 将列表的容量设置为当前列表的长度
继承的方法:
containsAll:测试归属性
removeAll:移出所有元素
retainAll:求合集。

4、迭代器Iterator只能单向移动,它的作用是遍历并选择序列中的对象,而不用管序列的类型,所有的Collection都可以生成迭代器。

5、Map和Collection之间的唯一重叠就是Map可以使用entrySet()和values()方法产生Collection。

这里推荐一个将java集合类的博文:
http://www.importnew.com/13801.html

http://www.javacodegeeks.com/2013/02/40-java-collections-interview-questions-and-answers.html#java-collections-framework
分享到:
评论

相关推荐

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    JAVA学习笔记————————

    2. **面向对象编程**:JAVA是纯面向对象的语言,因此学习笔记中会详细讲解类的创建、继承、封装、多态等概念。同时,接口、抽象类以及访问修饰符也是重要的知识点。 3. **异常处理**:JAVA提供了一种结构化的异常...

    狂神Java学习笔记————前端入门——html、css、JavaScript学习代码

    【狂神Java学习笔记——前端入门——HTML、CSS、JavaScript学习代码】是针对初学者的一份详实的学习资料,这份笔记记录了跟随B站知名up主“遇见狂神说”的java系列视频中关于前端开发的基础内容。笔记内容不仅与视频...

    java学习笔记——异常

    Java学习笔记——异常 在Java编程中,异常处理是一项至关重要的技能,它允许开发者优雅地处理程序运行时可能遇到的问题,防止程序意外终止,并提供有用的反馈信息。异常是程序执行过程中遇到的不正常情况,例如除以...

    Thinking in Java 自学笔记——第一章 对象导论

    Thinking in Java 自学笔记——第一章 对象导论 本章节总结了面向对象程序设计(Object-oriented Programming, OOP)的基本概念和原则,以帮助读者更好地理解 Java 编程语言。以下是对标题、描述、标签和部分内容的...

    Thinking in Java 自学笔记——第二章 一切皆对象

    ### Thinking in Java 自学笔记——第二章 一切皆对象 #### 重要概念解析 ##### 2.1 用引用操纵对象 在Java中,一切都被视为对象,这意味着无论是字符串、数字还是其他数据类型都可以被视为对象来进行操作。当...

    Python学习笔记——对象和类

    Python学习笔记——对象和类

    Java JDK 6学习笔记——ppt简体版

    Java JDK 6学习笔记是为Java初学者量身定制的一份宝贵资料,它涵盖了Java编程的基础概念、语法以及核心特性。这份PPT简体版旨在帮助读者快速掌握Java开发的基本技能,逐步成为一名合格的Java程序员。 Java JDK...

    Java JDK 6学习笔记——ppt简体版.rar

    这份"Java JDK 6学习笔记——ppt简体版"提供了关于这个关键版本的详细教程,适合初学者和有一定经验的开发者来深入理解Java编程。 首先,我们要了解Java JDK是什么。Java Development Kit,简称JDK,是Oracle公司...

    Java JDK 6学习笔记——ppt简体版附课本代码

    这份“Java JDK 6学习笔记——ppt简体版”涵盖了Java语言的核心概念、语法特性以及JDK 6的新功能,旨在帮助初学者和有经验的开发者深入理解并掌握这一版本的Java开发环境。 首先,Java JDK 6的安装与配置是学习的...

    RRT学习笔记——记录

    RRT学习笔记——记录

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    Java JDK 6学习笔记——ppt简体版 第20章.ppt

    Java JDK 6学习笔记——ppt简体版 第20章.ppt

    Java JDK 6学习笔记——ppt简体版 第19章.ppt

    Java JDK 6学习笔记——ppt简体版 第19章.ppt

    Java JDK 6学习笔记——ppt简体版 第18章.ppt

    Java JDK 6学习笔记——ppt简体版 第18章.ppt

    学习笔记——资料

    【Java学习笔记——全面解析】 Java作为一种广泛应用的高级编程语言,是软件开发领域的核心力量。这份"学习笔记——资料"涵盖了Java学习的各个方面,旨在帮助初学者和有经验的开发者巩固基础,提升技能。以下是对这...

    Java JDK 6学习笔记——ppt

    Java JDK 6学习笔记——PPT简体版是针对初学者和有经验的开发者们的一份宝贵资源,它深入浅出地介绍了Java编程语言的核心概念和技术。这份资料以PPT的形式呈现,使得学习过程更加直观易懂,同时包含了课程中的源代码...

Global site tag (gtag.js) - Google Analytics