`

JAVA常用的集合以及介绍(应重点复习)

 
阅读更多
-----------------------------------
1. 常用的集合以及介绍:(应重点复习)
常用集合set、map、list
set、map是collection接口的子接口
set接口的实现类:HashSet、TreeSet
List接口的实现类:ArrayList、linkedList
Map接口的实现类:HashMap、TreeMap、Hashtable。
   ArrayList和linkedList的区别(略)
HashMap、HashTable区别(略)

-----------------------------------
1、常用集合类的继承结构如下:
Collection<--List<--Vector
Collection<--List<--ArrayList
Collection<--List<--LinkedList
Collection<--Set<--HashSet
Collection<--Set<--HashSet<--LinkedHashSet
Collection<--Set<--SortedSet<--TreeSet
Map<--SortedMap<--TreeMap
Map<--HashMap

2、 List总结:

所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。例如:[ tom,1,c ]
所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ]
所有的List中可以有null元素,例如[ tom,null,1 ]
基于Array的List(Vector,ArrayList)适合查询,而LinkedList 适合添加,删除操作.



3、Set是一种不包含重复的元素的无序Collection。

HashSet:
虽然Set同List都实现了Collection接口,但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。看看HashSet的add(Object obj)方法的实现就可以一目了然了。也是为什么在Set中不能像在List中一样有重复的项的根本原因,因为HashMap的key是不能有重复的。

LinkedHashSet:
HashSet的一个子类,一个链表。

TreeSet:
SortedSet的子类,它不同于HashSet的根本就是TreeSet是有序的。它是通过SortedMap来实现的。

Set总结:
Set实现的基础是Map(HashMap)
Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象.

4、Map有两种比较常用的实现:HashMap和TreeMap。
HashMap也用到了哈希码的算法,以便快速查找一个键.

TreeMap则是对键按序存放,因此它便有一些扩展的方法,比如firstKey(),lastKey()等,你还可以从TreeMap中指定一个范围以取得其子Map。

键和值的关联很简单,用put(Object key,Object value)方法即可将一个键与一个值对象相关联。用get(Object
key)可得到与此key对象所对应的值对象。

总结:

1.ArrayList: 元素单个,效率高,多用于查询
2.Vector: 元素单个,线程安全,多用于查询
3.LinkedList:元素单个,多用于插入和删除

Set基于HashMap,无重复,可以为Null;
4.HashMap: 元素成对,元素可为空
5.HashTable: 元素成对,线程安全,元素不可为
6.TreeMap和TreeSet的数据都是有序的。

==================================================================
ArrayList不能在循环中remove:
ArrayList不能在循环中remove,例如:
for(PlaneInfo obj : planeList){
	log.info("!"+obj.getFlightBatchDate()+"-"+obj.getLowprPrice());
	if("".equals(obj.getLowprPrice()) || "0".equals(obj.getLowprPrice())){
		planeList.remove(obj);
	}
}
分享到:
评论

相关推荐

    JAVA面试重点复习内容

    为了帮助应届毕业生和有两年工作经验的开发者更好地准备面试,以下将详细讲解Java面试中的重点复习内容。 1. **基础概念** - Java的特性:了解Java的跨平台性(Write Once, Run Anywhere)、垃圾回收机制、多线程...

    java考试复习资料

    #### 二十、Java常用包 Java标准库提供了多个包,常用的包括: - `java.lang`: 提供基础类,如String、Math等。 - `java.io`: 输入输出流相关的类。 - `java.sql`: 数据库访问API。 - `java.util`: 集合框架、日期...

    java常用面试题集合.rar

    "java常用面试题集合.rar"提供了丰富的面试题资源,旨在帮助求职者提升面试技巧,增强对Java原理的理解。 一、Java基础 1. **Java内存管理**:理解Java的堆内存和栈内存,以及对象的生命周期,包括创建、引用、...

    达内 corejava课程源码及每日课程复习文档

    达内的CoreJava课程旨在帮助学员深入理解和掌握Java编程的基本概念、语法以及常用类库的使用。这个压缩包中包含了课程的源码实例和每日课程的复习文档,为学习者提供了十五天的学习材料。 1. **Java基础**:学习...

    Java期末考试复习资料.zip

    9. **Java API**:熟悉Java标准库中的常用类,如Math类、Date和Calendar类、Random类,以及JDBC(Java Database Connectivity)用于数据库操作的相关API。 10. **Java SE与Java EE对比**:理解Java Standard ...

    java考试复习

    Java编程语言是软件开发领域的重要组成部分,特别是在企业级应用和互联网开发中占据着主导地位。为了成功通过Java考试,理解并掌握其核心概念至关重要。以下是一些基于标题、描述和提供的压缩包文件名称的关键知识点...

    java程序设计精编教程第三版(作业与期末复习题)

    此外,Java的API库非常丰富,复习时应关注常用类库的使用,例如日期时间API、数学计算、正则表达式等。熟悉这些类库,可以使你的代码更加简洁、高效。 最后,期末复习题和实验题目是对这些知识点的综合运用,通过...

    java期末考试试题含复习资料.zip

    6. **输入输出流**:Java的IO流系统用于读写数据,包括文件操作、网络通信等,了解InputStream和OutputStream的层次结构,以及BufferedReader和PrintWriter等常用类。 7. **网络编程**:Java提供了Socket和...

    java复习资料20151125

    这些题目可能涉及到异常处理、数组和集合框架(如ArrayList、LinkedList、HashMap、HashSet等)、IO流(如FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等)、线程同步(如synchronized关键字...

    Java重点知识总结

    - **常用包**:Java提供了许多内置的包来帮助开发者进行开发工作,比如`java.util`包含了集合框架、`java.io`提供了输入输出流的支持等。 - **包的导入与声明**:通过`import`语句可以导入特定的类或整个包,从而在...

    Java程序设计期末复习总结参考

    Java程序设计作为计算机科学的重要分支,对于学习者来说,期末复习是巩固知识、提升技能的关键环节。本资料“Java程序设计期末复习总结参考”旨在帮助学生们有效地进行期末备考,涵盖多套考试题、复习题及知识点总结...

    Java二级资料.zipJava期末考试复习资料

    Java二级资料.zip是一个包含针对Java二级考试复习的资源集合,主要面向那些准备参加Java二级考试的学生或者编程初学者。这个压缩包可能包含了各种类型的文件,如PDF文档、笔记、源代码示例、练习题和答案解析等,...

    Java二级复习资料及参考答案.rar

    4. **集合框架**:熟悉ArrayList、LinkedList、HashSet、HashMap等常用集合类的用法,以及它们之间的区别和应用场景。 5. **IO流**:掌握输入输出流的概念,包括文件操作、字节流和字符流的使用,以及缓冲区的概念...

    JAVA复习资料_机试

    理解类的定义、属性、方法、构造器,以及如何通过new关键字创建对象,是Java学习的重点。同时,还需了解对象的封装、继承和多态性等概念。 3. **数组与集合框架**:数组用于存储同类型的多个数据,而集合框架(如...

    Java课程复习及经典考题

    以上这些知识点都是Java课程复习的重点,通过深入学习和练习经典考题,能够有效地提升对Java的理解和应用能力。同时,这份资料中的"学生用"文件可能包含了练习题、解答和模拟试题,可以帮助学生更好地进行自我检测和...

    2013年java笔试题大集合及答案

    2013年的Java笔试题大集合为求职者提供了一个全面复习和准备的机会,同时也揭示了当年企业对Java程序员技能的要求重点。 一、Java基础 在"100家大公司java笔试题汇总.doc"中,你可能会遇到关于Java基础语法的题目...

    java期末复习第讲面向对象程序设计.pptx

    面向对象程序设计是Java编程的核心概念,主要涉及类、继承、包、访问控制以及方法的重载和重写。在2023年的复习中,这些知识点是期末考试的重点。 首先,理解继承的概念至关重要。继承允许创建一个新的类(子类),...

    Java语言程序设计(基础篇)资料

    10. **集合框架**:Java集合框架是处理对象集合的重要工具,包括List、Set、Queue等接口以及ArrayList、LinkedList、HashSet、HashMap等具体实现类。 11. **多线程**:Java支持多线程编程,理解线程的创建、同步和...

    java 常用面试题,面试刷题必备

    以下是一些核心的Java知识点,这些都是面试官可能会问到的问题,同时也是准备面试时需要重点复习的部分。 1. **Java基础** - 类与对象:理解面向对象编程的基本概念,包括封装、继承和多态。 - 构造器:了解构造...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第12章_Java常用类(共42页).pptx

    第12章重点讲解了Java中常用的类,这些类在日常编程中非常常见,对于理解和编写高效的Java代码至关重要。 首先,String类是Java中最核心的类之一,用于表示不可变的字符序列。创建String对象时,可以使用直接量或...

Global site tag (gtag.js) - Google Analytics