java集合框架
西门吹雪叶孤城
爱生活,爱Java
展开
-
java集合框架概述
1.Java集合框架的由来其实在Java2(jdk1.2)之前,Java是没有完整的集合框架的。它只有一些简单的可以自扩展的容器类,比如Vector,StackHashtable等。为什么存在容器类: 容器类(集合类)可以存储多个数据,既然数组可以存储多个数据,为什么需要定义容器类. 数组的弊端:原创 2017-06-24 13:44:01 · 911 阅读 · 0 评论 -
java集合框架之TreeSet类
1.TreeSet介绍TreeSet集合底层采用红黑树算法,会对存储的元素默认使用自然排序(从小到大).注意: 必须保证TreeSet集合中的元素对象是相同的数据类型,否则报错.2.TreeSet的排序规则自然排序(从小到大):TreeSet调用集合元素的compareTo方法来比较元素的大小关系,然后将集合元素按照升序排列(从小到大).注意:要求TreeS原创 2017-06-25 16:34:01 · 494 阅读 · 0 评论 -
java集合框架之Set集合实现类性能对比
1.Set接口的实现类共同的特点: 1):都不允许元素重复. 2):都不是线程安全的类. 解决方案:Set s = Collections.synchronizedSet(Set对象);-------------------------------------------------------------------------------------原创 2017-06-25 16:40:55 · 669 阅读 · 0 评论 -
java集合框架之Map映射
1.映射的数学解释设A、B是两个非空集合,如果存在一个法则f,使得对A中的每个元素a,按法则f,在B中有唯一确定的元素b与之对应,则称f为从A到B的映射,记作f:A→B。-------------------------------------------------------------映射关系(两个集合):A集合和B集合. A集合中的每一个元素都可以在B集合中找到唯一的一原创 2017-06-25 20:30:49 · 468 阅读 · 0 评论 -
java集合框架之Set和Map之间的关系
1.发现在Map和Set中有很多相类似的实现类名Set Map 算法--------------------------------------------------------------------------HashSet原创 2017-06-25 20:42:49 · 2386 阅读 · 0 评论 -
java集合框架之Map的实现类
1.Map的常用实现类HashMap: 采用哈希表算法, 此时Map中的key不会保证添加的先后顺序,key也不允许重复. key判断重复的标准是: key1和key2是否equals为true,并且hashCode相等.TreeMap: 采用红黑树算法,此时Map中的key会按照自然顺序或定制排序进行排序,,key也不允许重原创 2017-06-26 10:11:18 · 366 阅读 · 0 评论 -
计算一个字符串中每一个字符出现的次数
import java.util.Map;import java.util.TreeMap;public class SetDemo7 { public static void main(String[] args) { String str = "aasdfasdgdifjgiosgsdofgbsmvbisdrthweuotpowsdnfgbvi"; //Map map = ne原创 2017-06-26 10:57:08 · 1727 阅读 · 0 评论 -
java集合框架之List和Set以及Map的选用
1.集合的选用选用哪一种容器取决于每一种容器的存储特点以及当前业务的需求:List: 单一元素集合. 允许元素重复/记录元素的添加顺序.Set:单一元素集合. 不允许元素重复/不记录元素的添加顺序.既要不重复,又要保证先后顺序:LinkedHashSet.Map: 双元素集合. 如果存储数据的时候,还得给数据其为一个的一个名称,此时考原创 2017-06-26 11:09:27 · 374 阅读 · 0 评论 -
java集合框架之集合工具类Arrays类
1.Arrays类: 在Collection接口中有一个方法叫toArray把集合转换为Object数组. 把集合转换为数组: Object[] arr = 集合对象.toArray(); 数组也可以转换为集合(List集合): public static List asList(T... a) 等价于public static List asList(T[] a).im原创 2017-06-26 12:39:56 · 267 阅读 · 0 评论 -
java集合框架之LinkedHashSet类
1.LinkedHashSet介绍List接口: 允许元素重复,记录先后添加顺序.Set接口: 不允许元素重复,不记录先后添加顺序.需求: 不允许元素重复,但是需要保证先后添加的顺序. LinkedHashSet:底层才有哈希表和链表算法. 哈希表:来保证唯一性,.此时原创 2017-06-25 15:16:33 · 289 阅读 · 0 评论 -
java集合框架之HashSet类
1.Set是Collection子接口模拟了数学上的集的概念。-----------------------------------------------------------------------Set集合存储特点: 1):不允许元素重复. 2):不会记录元素的先后添加顺序.------------------------------------原创 2017-06-25 11:22:20 · 345 阅读 · 0 评论 -
java集合框架之Vector
1.Vector介绍在JDK2之前(在Java的集合框架之前),要存储多个数据,此时存在一个叫Vector类.Vector类底层其实就是一个Object数组,Vector类中的方法是支持同步(方法使用synchronized修饰)的.-----------------------------------------------------------------------------原创 2017-06-24 14:16:52 · 319 阅读 · 0 评论 -
java集合框架之栈Stack
1栈(Stack)数据结构的一种,存储特点:Last In First Out.Stack 类表示后进先出(LIFO)的对象栈.它通过五个操作对类Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 pop 操作,以及取堆栈顶点的peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法首次创建堆原创 2017-06-24 14:58:44 · 1705 阅读 · 1 评论 -
java集合之ArrayList类
1.ArrayList类是Java集合框架出现之后用来取代Vector类的:二者底层原理都是基于数组的算法,一模一样.----------------------------区别:Vector: 所有的方法都使用了synchronized修饰符. 线程安全但是性能较低. 适用于多线程环境.ArrayList:所有的方法都没有使用synchr原创 2017-06-24 17:39:37 · 411 阅读 · 0 评论 -
java集合框架之List实现类的性能分析
面向接口编程:接口类型 变量 = new 实现类();List list = new ArrayList();---------------------------------------------------------List实现类特点和性能分析:---------------------------------------------------------原创 2017-06-24 19:39:39 · 385 阅读 · 0 评论 -
java集合框架之集合的迭代操作
1.集合的迭代操作 把集合做的元素一个一个的遍历取出来.---------------------------------------------------------------------迭代器对象: Iterator: 迭代器对象,只能从上往下迭代. boolean hasNext(); 判断当前指针后是否有下一个元素 Obje原创 2017-06-24 22:29:10 · 391 阅读 · 0 评论 -
java集合框架之泛型
1.为什么需要使用泛型 1):存储任意类型的数据在集合中 ,但是取出来都是Object类型的,此时就得强转. 2):约束存储到集合中的元素必须是相同的数据类型(相同的数据类型才能做比较,比如TreeSet类). 3):设计一个点(Point)类,来封装坐标位置,要求坐标位置支持String类型.Integer类型/Double类型.原创 2017-06-24 23:23:31 · 257 阅读 · 0 评论 -
java集合框架之集合体系
1.Collection集合体系(Map不属于Collection体系,它是属于映射)一张图说明一切原创 2017-06-25 10:17:33 · 394 阅读 · 0 评论 -
java集合框架之LinkedList类
1.LinkedList类它是双向链表,单向队列,双向队列,栈的实现类:所以它里面的方法特别多,特别多重复功能的方法LinkedList类实现单向队列和双向队列的接口,自身提高了栈操作的方法,链表操作的方法. 在LinkedList类中存在很多方法,但是功能都是相同的.LinkedList表示了多种数据结构的实现,每一种数据结构的操作名字不同.------------------原创 2017-06-24 19:21:10 · 384 阅读 · 0 评论 -
java集合框架之Collections类
1.面试题:Collection和Collections的区别Collection:是一个接口,是集合的顶层接口-----------------------------------------------------------------------------Collections类:是一个类,封装了Set,List,Map的操作的工具方法.获取空集对象(没有元素的集合,原创 2017-06-26 12:51:42 · 351 阅读 · 0 评论