JAVA基础-集合(一)】的更多相关文章

一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为value可以重复,他们两个是一对一的关系,可以存储集合或自定义类的对象.其常用的实现类有HashMap.Properties. 二.Map接口 Map接口为该派的"掌门",为我们提供了一些常用的集合操作:(1)从此集合中移除所有映射关系(清空):          clear() (2)判…
Java基础-集合的嵌套 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.静态导入 静态导入是在JDK1.5后的新特性,可以减少开发的代码量,但是实际用处是很一般,静态导入的标准写法只有在导入包的时候才能使用.导入包的最末尾必须是一个静态成员.接下来我们可以看一下案例 /* @author :yinzhengjie Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ EMAIL:y10534…
Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等. 发现一个特点,…
一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.util.Collection集合 和 java.util.Map集合 二.Collection接口的常用方法 Collection 接口是 List. Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合 JDK不提供此接口的…
今天我们来学习集合的第一大体系 List. List 是一个接口,定义了一组元素是有序的.可重复的集合. List 继承自 Collection,较之 Collection,List 还添加了以下操作方法 位置相关:List 的元素是有序的,因此有get(index).set(index,object).add(index,object).remove(index) 方法. 搜索:indexOf(),lastIndexOf(); 迭代:使用 Iterator 的功能板迭代器 范围性操作:使用 s…
一.概述 Java中的集合框架主要分为两大派别:Collection 和 Map —— 位于util包下 类的基础关系图如下(图片来自百度) 常用: List——有序可重复 Set——无序不可重复 Map——key-value键值对的形式 完整家谱: / 常用API可以查阅JDK API(IDEA中structure视图查看) 二.基本方法使用 基本的增删改查的方法,请自行依据API进行测试与练习. list基本方法(ArrayList) 添加方法是:.add(e): 获取方法是:.get(in…
今天主要说夏set集合,每天抽出一个小时总结下,生活会更加美好! --< java.util >-- Set接口: 数据结构:数据的存储方式: Set接口中的方法和Collection中方法一致的. |--HashSet: HashSet类直接实现了Set接口, 其底层其实是包装了一个HashMap去实现的.HashSet采用HashCode算法来存取集合中的元素,因此具有比较好的读取和查找性能. 底层数据结构是哈希表,线程是不同步的.无序,高效:HashSet是线程非安全的,元素值可以为NU…
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判断生成的字符串是否包含重复,在判断长度是不是10,等等. *2.其实这题我们可以培养一个习惯,大问题分解小问题解决. (1).10个字符串,我们先产生一个10个字符不重复的字符串,   (2).怎么去重复呢?集合中的HashSet就可以,这题不适合用包含方法做,代码复杂   (3).字符组成是由(a…
前两篇文章中介绍了Collection框架,今天来介绍一下Map集合,并用综合事例来演示. Map<K,V> Map<K,V>:Map存储的是键值对形式的元素,它的每一个元素,都是由键和值两个元素组成,键是不能有重复的,值是可以重复的,每一个键唯一指向一个值. Map体系 Map ——|hashtable: 底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.效率低,已被HashMap替代 ——|HashMap: 底层是哈希表数据结构,允许使用 null 值和…
写在前面的话,这篇文章在昨天就写好了,今天打开的时候一不小心将第二天的文章粘贴到了这篇文章,很不幸的是除了标题之外依然面目全非,今天带着沉痛的心情再来写这篇文章! 上篇文章介绍了Collection体系以及List相关的知识,这篇文章将介绍Collection中的另一个分支——Set. Set      Set中存放的元素无序,不可重复.取出方式只能说迭代器. Set体系   ——| Set 子接口,特点在于元素无序,元素不可重复         ——| HashSet:底层数据结构是哈希表,是…
在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可以存储引用数据类型比如对象,集合框架更强大之处在于可以同时存储任意类型数据,这是数据无法做到的,另一方面,数组长度是固定的,但是实际生活中需求的容器大都是不确定的,这就需要一个可变长度的容器,而集合框架刚好弥补了数组容量固定的缺陷,这也是集合框架另一个特点:另一个不同之处就是存储方式的区别,数组数据…
1.Java集合类框架的基本接口有哪些? 集合类接口指定了一组叫做元素的对象.集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序.有的集合类允许重复的键,有些不允许.Java集合类提供了一套设计良好的支持对一组对象进行操作的接口和类.Java集合类里面最基本的接口有:Collection:代表一组对象,每一个对象都是它的子元素.Set:不包含重复元素的Collection.List:有顺序的collection,并且可以包含重复元素.Map:可以把键(key)映射到值(v…
第一讲    集合框架 先看下面的图: 这就是集合框架的构成.由于数据结构的不同,有不同的集合,也叫容器.下面是集合类的简单介绍. 一.为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 二.数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象. 三.集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类…
一.结构 Collection接口为一些单列集合的根接口,其常用子接口为List接口.Set接口.List接口常用实现子类为ArrayList(数组)LinkedList(链表).Set接口常用实现子类为HashSet(哈希表)LinkedHashSet(哈希表和链表结合). 二.Collection接口 Collection接口作为根接口,为我们提供了集合的一些常用操作:(1)增加.add(E e) - 返回值为boolean(是否添加成功).(2)清除.clear() - 除去此数组的所有操…
为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的,集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象 集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. collection 中有两个常见的接口,如一个是 List 另一个是Set List中有ArrayList,LinkedList,V…
集合框架 Java.util.Collection Collection接口中的共性功能 1,添加 booblean add(Object obj);  往该集合中添加元素,一次添加一个 boolean addAll(Collection c);  将指定 collection 中的所有元素都添加到此 collection 中 2,删除 void clear(); 移除此 collection 中的所有元素 boolean remove(Object o);   从此 collection 中移…
一.集合框架 对于不知道存储数量和更复杂的方式存储对象用集合框架. 其中有几个常用的接口和实现类:Collection父接口.List接口,Set接口,Map接口, ArrayList实现类.LinkedList实现类.hashSet实现类.hashMap实现类 Collection集合框架的父接口,该接口存储的是一组不唯一,无序的对象. Collection父接口下有两个子接口: List接口:存储的数据是 不唯一的.有序的 Set接口 : 存储的数据是惟一的.无序的 List接口下也有两个实…
Java中的集合从类的继承和接口的实现结构来说,可以分为两大类: 1 继承自Collection接口,包含List.Set和Queue等接口和实现类. 2 继承自Map接口,主要包含哈希表相关的集合类. 第一类 Collection接口继承和实现结构图如下: 图中的绿色的虚线代表实现,绿色实线代表接口之间的继承,蓝色实线代表类之间的继承,下同. List 常用的是ArrayList和LinkedList.ArrayList通过数组实现,随机访问比较快,增删操作比较慢.而LinkedList通过链…
Set 集合 Set 集合通常不能记住元素的添加顺序.Set 集合不允许包含相同的元素. HashSet 是 Set 接口的实现类,按照 Hash 算法存储集合中的元素.HashSet 不是同步的,如果多个线程同时访问一个 HashSet,则必须通过代码来保证其同步.集合元素值可以是 null. LinkedHashSet 是一个 HashSet 的子类,也是根据元素的 hashcode 值来决定元素的存储位置,但它同时使用链表维护元素的次序,这样使得看起来是以插入顺序保存的.因为需要维护元素的…
存储数据的容器有数组和StringBuilder.StringBuilder的结果是一个字符串,不满足要求,所以只能选择数组,这就是对象数组.而对象数组又不能适应变化的需求,因为数组的长度是固定的,这个时候,为了适应变化的需求,Java就提供了集合类.由此可见集合的长度是可变的 集合类特点:长度可变. ArrayList<E> 大小可变数组的实践 <E>:是一种特殊的数据类型,泛型.再出现的地方可以用任何引用数据类型替换. 构造方法 ArrayList() 成员方法 添加元素 pu…
1, 数组与集合 A:长度不同 数组的长度固定,集合的长度可变 B:内容不同 数组里存储的是同一种类型的元素,而集合可以存储不同类型的元素 C:元素的数据类型问题 数组可以存储基本数据类型,也可以存储引用数据类型 集合只可以存储引用数据类型 思维方式:分析:从具体到抽象 实现:从抽象到具体 使用:使用具体的Java提供多种集合类,它们的数据结构不同,但是他们有共性的内容(存储.获取.判断等),通过不断地向上提取,我们能够得到一个集合的继承体系结构图 1, ((Collection) c1).re…
java的集合类是一个工具类,存放在java.util包中.它不仅可以存储对象,也可以实现常用数据结构,如栈.队列等.严格的说,集合类存放的是对象的引用,而不是对象本身. java集合主要由这两个接口派生产生:Collection和Map.Collection体系中又包括Set,Queue,List.其中Collection和Map是java集合框架的根接口,他们又包括了一些子接口和实现类. 一.Collection集合体系 在Collection体系中,有三个子接口List.Set和Queue…
一.JDK中ArrayList是如何实现的 1.先看下ArrayList从上而下的层次图: 说明: 从图中可以看出,ArrayList只是最下层的实现类,集合的规则和扩展都是AbstractList.List.Collection等上层的接口所设定的,而ArrayList实现或继承了上层的规则,然后重新或扩展来处理集合中的数据. 2.看看接口:Iterable<E>中都定义了那些规则? JDK1.8中的源码: package java.lang; import java.util.Iterat…
一.迭代器概述 1.什么是迭代器? 在Java中,有很多的数据容器,对于这些的操作有很多的共性.Java采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离,达到解耦的效果. 在Iterator接口中定义了三个方法: 2.迭代器使用 public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("abc");…
Java  集合      数组是一种很常见的数据结构,开始接触编程的时候多数程序都和数组相关.刚开始接触Java时也是一直使用数组写一些程序,后来越来越觉得数组这东西没法满足需求了,这时一位“前辈”对我说了一句:不会用集合类就等于没学过Java.然后才知道有集合类. 什么时候数组会显得力不从心,没法满足需求,需要集合类呢? 不知道具体数据长度 需要自动排序 存储键值对 当然,上面的情况不是绝对的,只是数组比较难满足.这时集合类(也可称为容器类)就显示了它强大的功能. 集合类的分类(图片转自ht…
----------android培训.java培训.java学习型技术博客.期待与您交流.------------  一.关于java中的集合类        首先看一下,大致的框架流程图        通过这些我们能够看出来,通常我们常常採用的vector.arraylist.hashset.treeset,hashmap.hashtable,treemap.linkedlist类 关于vector和arraylist对照,vector是线程安全的,vector通过遍历.性能更高. Arra…
--Map接口简介 今天来看一看map集合,map映射接口,用于存放键值对,<key,value>,通过key来查找value,顾名思义key不能为空,唯一且不重复,不然底层怎么查呢! 可以从图中看出Map为单独的接口,他和Collection有什么区别呢? Map和Collection在集合中并列存在. Map集合是双列的,键值对,而Collection是单列集合 Map存储元素使用put方法,Collection使用Put方法. Map遍历没有直接取出元素的方法,而是先转成Set集合,再通…
集合特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:集合是可变长度的. 集合和数组的区别: 1:数组是固定长度的:集合可变长度的. 2:数组可以存储基本数据类型,也可以存储引用数据类型:集合只能存储引用数据类型. 3:数组存储的元素必须是同一个数据类型:集合存储的对象可以是不同数据类型.  数据结构:就是容器中存储数据的方式. 对于集合容器,有很多种.因为每一个容器的自身特点不同,其实原理在于每个容器的内部数据结构不同. 集合容器在不断向上抽取过程中.出现了集合体系. 在使…
ArrayList 和 和 Vector 的区别 从代码的最终的操作形式上可以发现,代码的输出结果与之前是一样的,而且没有区别,但是两者的区别还在于其内部的组成上. No. 区别点 Vector Vector 1 推出时间 DK 1.2 之后 JDK 1.0 的时候推出 2 线程处理 ArrayList 采用异步处理 采用同步处理 3 性能 速度较快  速度较慢 4 安全性 非线程安全性的操作 线程安全性的操作 5 输出 由于都是 List 接口的子类,所以都可以依靠 size()和 get()…
集合 Collection单列集合有List 和 Set List集合有: ArrayList集合 特点: 1.存取有序 可以重复 有索引 2.底层是数组实现,查询快,增删慢 ArrayList底层: 1.ArrayList底层是一个数组 2.当初始化ArrayList,数组的长度为0 3.当第一次添加的时候,数组的长度为10 4.以后添加时,如果数组的长度不满足时,进行扩容 ,按1.5来进行扩容 5.扩容之后,将原数组中的元素拷贝到新的数组中 ArrayList的特有方法 方法名 描述 voi…