- 浏览: 523271 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (605)
- JAVA笔霸 (20)
- JAVA面霸 (27)
- MySQL面 (21)
- LINUX面 (12)
- 并发面霸 (41)
- 架构面霸 (19)
- 综合面霸 (10)
- Spring面 (12)
- Dubbo面 (13)
- RabbitMQ面 (8)
- Kafka面 (8)
- zk面霸 (5)
- Netty面 (8)
- 网络面霸 (7)
- JVM面霸 (12)
- Cloud面 (7)
- Spring核面 (4)
- 设计模式 (22)
- JAVA核面 (4)
- 打好基础 (18)
- Redis面 (9)
- JAVA (28)
- Spring (18)
- LINUX (21)
- MySQL (43)
- Nginx (8)
- 架构 (15)
- 本地环境 (25)
- 安装配置 (4)
- 计算机组成 (1)
- 未分类 (20)
- ES (15)
- Code (24)
- 芋道面 (3)
- 多线程并发编程 (4)
- 理解IO (3)
- 原理机制 (5)
- TCP/IP/HTTP (4)
- Maven (7)
- MQ (3)
- 面试经历 (2)
- ES组件 (2)
- Spring基础 (3)
- Kafka现场问题支持 (1)
- Redis客户端 (5)
最新评论
-----------------------------------
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:
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泛型那些事
2018-01-29 14:16 414学习笔记,转自:http://www.techug.com/ ... -
Jsoup解析HTML实例及文档方法详解
2017-11-04 00:11 217Jsoup解析HTML实例及文档方法详解 http://w ... -
java中Map,List与Set的区别
2015-09-05 16:19 601转自:http://blog.csdn.net/speedme ... -
JDK中设计模式
2013-12-19 10:58 593学习笔记,转自:http://blog.csdn.net/gt ... -
Java反射机制的学习
2013-11-22 12:56 718学习笔记,转自:http://www.blogjava.net ... -
JAVA笔试前面基础题汇总(描述篇幅短)
2013-06-08 00:24 7911、Equals方法和==的 ... -
Java基础:三步学会Java Socket编程
2013-06-07 00:22 809----------------------------- ... -
简述IO流中的字符流与字节流之间的差别
2013-06-06 00:12 1095简述IO流中的字符流与字节流之间的差别。并列举出常用的字符流与 ... -
简述Servlet中请求的转发与重定向的区别
2013-06-06 00:05 686简述Servlet中请求的转发与重定向的区别. (3分) ... -
unchecked exception / checked exception
2013-06-06 00:02 838什么是unchecked exception,什么是chec ... -
连接池使用的优点
2013-04-11 14:29 539学习笔记,转自:http: ... -
java中会存在内存泄漏吗?
2013-04-03 11:24 680学习笔记,转自:http://blog.csdn.net/ ... -
Java中Vector、ArrayList、List使用深入剖析
2013-04-03 09:45 1000学习笔记,转自:http: ... -
字符集和编码(encode)的关系
2013-05-13 08:27 506学习笔记,转自:http://www.cnblogs.co ... -
java 类初始化的顺序 静态方法 静态成员
2013-04-07 09:52 844package com; public ... -
HashMap和Hashtable的区别
2013-03-29 15:12 1152HashMap与Hashtable都是java的集合类,都可以 ... -
你怎么理解MVC模式?
2013-03-28 22:13 540你怎么理解MVC模式? -
详解JVM工作原理和特点
2013-03-20 00:45 515参考http://developer.51cto.com/ar ... -
请写出Servlet的生命周期?
2013-03-06 23:01 7981、请写出Servlet的生命 ... -
在java.util包中那些类提供了List接口的实现?
2013-03-06 22:39 1809学习笔记,转自:http://blog.csdn.net/x ...
相关推荐
java常用集合以及相关接口
java, java常用集合类详解(有例子,经典呐!!!集合类糊涂的来看啊!!) 集合类详解
JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解JAVA常用集合框架讲解
Java常用集合的思维导图
常用的Java类集合。
java常用集合框架.pdf
java中非常常用的30几个代码的集合,对我们的开发非常有帮助,强烈建议下载,不下是你的损失。
java集合 java集合思维导图 java集合总结
JAVA常用集合框架
Java常用类 Math类 String类 StringBuffer类 StringTokenizer类 包装类 集合操作 集合 列表(List) 映射(Map) Collections类 枚举和迭代
对java集合类的总结。 包括性能,类图。
Java集合框架常用集合源代码及其实现,欢迎大家下载学习!!!!!!!!
Java,图书管理系统,集合
Java常用集合.pos 记录了常用的Java集合 适合学习java集合的看客姥爷 目的在于帮助了解集合中包含哪些接口和实现类 可以使用https://www.processon.com/i/6351fb40762131257f10e888?full_name=Raphael在线打开文件...
包含各种数据库的驱动包,spring, struts2,hibernet,ibatis,ehcahe,file_upload, email,dbcp等jar包。
JAVA常用方法的总结整理
java常用集合框架
Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是如何实现的, 以及他们的实现原理...