Java学习之集合】的更多相关文章

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 12.0px Times } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Songti SC" } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times } p.p4 { margin: 0.0px 0.0px 0.0px 0.0…
数据结构 数据结构: 数据结构_栈:先进后出 入口和出口在同一侧 数据结构_队列:先进先出 入口和出口在集合的两侧 数据结构_数组: 查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速的查找某一个元素. 增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,把原数组的数据复制过来 例: int[] arr = new int[]{1,2,3,4}; 要把数组索引是3的元素删除 必须创建一个新的数组,长度是原数组的长度-1 把原数组的其它元素…
主要的方法 构造方法: TreeMap(); TreeMap(Comparator<?super K> comparator); TreeMap(Map<? extends K,? extends V> m); TreeMap(SortedMap m); 方法: Map.Entry firstEntry(); Object firstKey(); Map.Entry lastEntry(); Object lastKey(); Map.Entry higherEntry(Objec…
主要的方法 + 构造方法: * HashMap(); - 默认大小16,负载因子0.75 * HashMap(int initialCapacity); * HashMap(int initialCapacity,float loadFactor); * HashMap(Map<? extends K,? extends V> v); + 方法: * void clear(); - 清除所有键值对 * boolean containsKey(Object key); * boolean con…
一.接口Map<K,V>1.V put(K key, V value)2.int size()3.public class HashMap<K, V> implements Map<K, V>按键的哈希值存储,put时,key相同会发生替换,一个key值只能对应一个value4.Map的遍历Map没有迭代器,通过keyset()和values()遍历Set<K> keySet()Collection<V> values()//5.Set<M…
原文见: http://www.cnblogs.com/sunflower627/p/3158042.html 1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Person{ String name; int age }. 当我们有这么一个personList,里面包含了person1, person2, persion3....., 我们用Coll…
1.定义:集合是一种容器,专门用来存储对象 数组和集合的区别?   A:长度区别  数组的长度固定 集合长度可变 B:内容不同  数组存储的是同一种类型的元素  而集合可以存储不同类型的元素  C:元素的数据类型问题  数组可以存储基本数据类型,也可以存储引用数据类型 集合只能存储引用类型 2.集合的继承体系结构 由于需求不同,Java就提供了不同的集合类.这多个集合类的数据结构不同,但是它们都是要提供存储和遍历功能的,   我们把它们的共性不断的向上提取,最终就形成了集合的继承体系结构图.  …
1.map集合 1.1.特点:将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 1.2.Map集合和Collection集合的区别? Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的.可以把这个理解为:夫妻对 Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的.可以把这个理解为:光棍(11.11) 1.3Map集合的功能概述: 1:添加功能 V put(K key,V value):添加元素.…
类集简介 从JDK1.2开始Java引入了类集开发框架,所谓的类集指的就是一套动态对象数组的实现方案,在实际开发之中没有有何一项开发可以离开数组,但是传统的数组实现起来非常的繁琐.而且长度是其致命伤,正是因为长度的问题,所以传统的数组是不可能大范围使用的,但是我们的开发又不可能离开数组,所以最初就只能依靠一些数据结构来实现动态的数组处理,而其中最重要的两个结构:链表.树.但是面对这些数据结构的实现又不得不面对如下的一些问题: 数据结构的代码实现困难,对于一般的开发者是无法进行使用的: 对于链表和…
 集合框架(Collection  Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准化了程序处理对象组的方式. 集合框架在设计上需要满足几个目标.首先,框架必须是高性能的.基本集合(动态数组.链表.树以及哈希表)的实现是高效率的.很少需要手动编写这些数据引擎中的某一个.其次,框架必须允许不同类型的集合以类似的方式进行工作,并且具有高度的互操作性.再次,扩展或改造必须易于实现.为了满…
ArrayList 集合 ArrayList 集合 ArrayList<String> list = new ArrayList<>(); 对于ArrayList来说,有一个尖括号<E>代表泛型. 泛型:也就是也就是装在集合当中的所有元素,全部都是统一的什么类型 注意:泛型只能是引用类型,不能是基本类型 数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变 ArrayList 集合和数组的区别: 数组的长度不可以改变. 但是ArrayList的长度可以改变. 注意事…
一.概述 Java的集合体系,本质上是一个陈放数据的容器,像之前学过的数组也是陈放数据的容器,但在 Java 中数组的长度是固定的,使用起来没那么方便.集合提供了更加强大的功能,使用起来也更方便和快捷.集合体系中提供的方法的底层源代码采用的也是优秀的高效率算法,其他数据容器能操作的,集合都能操作,而且代码更加简洁,思路更加清晰,运行的效率更加高.因此,完全掌握完集合.编程的技能会进一步提高. 二.集合体系 集合作为一个容器,可以存储多个元素,但是由于数据结构的不同,Java 提供了多种集合类,将…
一.什么是链表集合,通过图形来看,比如33只知道它下一个是55 如果:现在要删除33的话,就是把55赋值给45,这样看它操作集合速度会非常快. 二.LinkedList特有方法 1.添加 addFirst(); addLast(); jdk1.6 offerFirst(); offerLast();2.获取 getFirst();//获取但不删除,如果链表为空,抛出NoSuchElementException getLast(); jdk1.6 peekFirst();//获取但不删除,如果链表…
List特有的常见方法:有一个共性特点:都可以操作角标 1.添加  void add(int index, E element); void addAll(int index, collection<?> c);2.删除 Object remove(int index);3.修改 Object set(int index, E element);4.获取 Object get(int index); int indexOf(Object o); int lastIndexOf(Object 0…
集合类的由来: 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就使用集合容器进行存储 集合特点: 1.用于存储对象的容器 2.集合长度可变 3.不可以存储基本数据类型 集合体系的顶层Collection接口 Collection接口 |--List:有序(存入和取出的顺序一致),元素都是索引,元素可以重复 |--Vector:内部是数组数据结构,是同步的.增删,查询都很慢(已几乎不用) |--ArrayList:内部是数组数据结构,是不同步的.替代Vector.查询速度快 |--…
Set接口 Set集合存储特点: 不允许元素重复 不会记录元素的添加先后顺序 Set只包含从Collection继承的方法,不过Set无法记住添加的顺序,不允许包含重复的元素.当试图添加两个相同元素进Set集合,添加操作失败,add()方法返回false. Set接口定义了一种规范,也就是该容器不记录元素的添加顺序,也不允许元素重复. Set接口常用的实现类有: HashSet类:底层采用哈希表实现,开发中使用对多的实现类,重点. TreeSet类:底层采用红黑树实现,可以对集合中元素排序,使用…
equals指内容(值)相等,== 指地址相等 ===============set类 set继承自collection,但set没有新增方法,只是set里的元素不重复,下面是set常用方法 ===================Comparable 接口 ===============TreeSet  遍历时,按顺序输出, 存入TreeSet集合中的对象必须实现Comparable接口,否则在运行时,编译期不出错,运行时报RuntimeException =================ma…
通常情况下,你会希望遍历一个集合中的元素.例如,显示集合中的每个元素.一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或ListIterator接口.迭代器,使你能够通过循环来得到或删除集合的元素.ListIterator 继承了Iterator,以允许双向遍历列表和修改元素.Iterator和ListIterator都是泛型接口,它们的 声明: interface  Iterator…
几个概念 桶(bucket):hash表里可以存储元素的位置 hash冲突:equals()返回false的不相等对象的hashCode()值相等,意味着一个bucket要放几个元素 容量(capacity):hash表中桶(bucket)的数量 初始化容量(initial capacity):创建一个hash表时的桶的数量,默认是16,可以指定 尺寸(size):当前hash表中记录的数量 负载因子(load factor):负载因子=size/capacity. 负载极限:负载因子所能达到的…
1.ArrayList:采用数组的形式保存对象,这种方式将对象保存在连续的位置中,所以查询效率比较高,但是插入删除时麻烦,并且ArrayList不是线程安全的. 2.Vector:保存对象的方式与ArrayList相同,但是Vertor方法中都有synchronized关键字,所以是线程安全的. 3.LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查询麻烦. 关于ArrayList实现线程安全方法: 1.使用Vector,它是ArrayL…
随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet集合 Set集合的元素是不反复且无序 一.HashSet集合 API文档解释:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持. 它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类同意使用null 元素. 此类为基本操作提供了稳定性能,注意.此实现不是同步的.…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中评选出四个最帅的武将,并存储下来 // 因为具备了面向对象的思想,所以创建四个对象来存储 Hero hero1 = new Hero("张飞", 18); Hero hero2 = new Hero("赵云", 16); Hero hero3 = new Hero(&q…
当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入.使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找.在计算机中管理对象亦是如此,当获得多个对象后,也需要一个容器将它们管理起来,这个容器就是集合. 集合本质是基于某种数据结构数据容器.常见的数据结构:数组(Array).集(Set).队列(Queue).链表(Linkedlist).树(Tree).堆(Heap).栈(Stack)和映射(Map)等结构.本文将为大家介绍Java中的集合. 一.集合概述 Java中提供了丰富的集…
Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack,  Properties 这些类用来存储和操作对象组. 虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题.由于这个原因,使用 Vector 类的方式和使用 Properties类 的方式有着很大不同. 集合框架的设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作…
Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删除指定位置的元素 3.List的两个主要实现类是ArrayList和LinkedList (2)Arraylist 1.ArrayList底层是由数组实现的 2.动态增长,以满足应用程序的需求 3.在列表尾部插入和删除非常有效 4.更适合查找和更新元素 5.元素允许为null (3)List常用方法…
集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4>链表结构 特点:增删快,查询慢 二.List接口 Java.util.List 接口(集合)extends Collection 接口 List接口的特点: 允许存储重复元素 是一个有序集合(存储元素的顺序和取出元素的顺序一致)存123 取出123 有索引,包含一些带索引的特有方法(有三种遍历方式:迭代…
Map接口: Map接口与Collection接口无继承关系. 区别:Collection中的元素是孤立的,一个一个存进去的. Map作为一个映射集合,每一个元素包含Key-value对(键-值对).即,Map元素总是成对出现的. Map中的value对象可以重复,但Key不能重复. Map接口的常用集合: 1.HashMap集合,HashMap类与HashSet类基本相同,都是无序的, 2.LinkedHashMap集合,存储数据是有序的. Map接口的常用方法: package Demo2;…
Set接口 java.util.Set接口 extends Collection接口 Set接口的特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 java.util.HashSet集合 implements Set接口 HashSet特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 是一个无序的集合,存储元素和取出元素的顺序有可能不一致 底层是一个哈希表结构(查询的速度非常快) Set<Integer> set…
Java 中的集合接口——List.Set.Map 什么叫集合:集合就是Java API所提供的一系列类的实例,可以用于动态存放多个对象.这跟我们学过的数组差不多,那为什么我们还要学集合,我们看看数组跟集合有什么区别: 数组:长度固定,遍历速度快 可以存储基本类型和引用类型: 集合:长度不固定,只能存储引用类型对象: 从数组跟集合的特点我们很明显的看出,数组有一定的局限性,如果我们需要不定期的往我们的数据中存储数据,数组就满足不了我们的要求. Java集合框架提供了一套性能优良.使用方便的接口和…
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多态 第七章 接口与多态 第八章 异常处理 第九章 Collection与Map 第十章 输入/输出 第十一章 线程与并行API 第十二章 Lambda 第十三章 时间与日期 第十四章 NIO与NIO2 第十五章 通用API 第十六章 整合数据库 第十七章 反射与类加载器 第十八章 自定义类型.枚举 补充:Ja…