Java基础--集合解析-ArrayList】的更多相关文章

1.ArrayList中添加,获取,删除元素: 2.ArrayList中是否包含某个元素: 3.ArrayList中根据索引将元素数值改变(替换): 4.ArrayList中查看(判断)元素的索引: 5.根据元素索引位置进行的判断; 6.利用ArrayList中索引位置重新生成一个新的ArrayList(截取集合): 7.对比两个ArrayList中的所有元素: 8.判断ArrayList是否为空: 9.返回Iterator集合对象: 10.将集合转换为字符串: 11.将集合转换为数组: 12.…
一.JDK中ArrayList是如何实现的 1.先看下ArrayList从上而下的层次图: 说明: 从图中可以看出,ArrayList只是最下层的实现类,集合的规则和扩展都是AbstractList.List.Collection等上层的接口所设定的,而ArrayList实现或继承了上层的规则,然后重新或扩展来处理集合中的数据. 2.看看接口:Iterable<E>中都定义了那些规则? JDK1.8中的源码: package java.lang; import java.util.Iterat…
Java基础-集合的嵌套 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.静态导入 静态导入是在JDK1.5后的新特性,可以减少开发的代码量,但是实际用处是很一般,静态导入的标准写法只有在导入包的时候才能使用.导入包的最末尾必须是一个静态成员.接下来我们可以看一下案例 /* @author :yinzhengjie Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/ EMAIL:y10534…
一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为value可以重复,他们两个是一对一的关系,可以存储集合或自定义类的对象.其常用的实现类有HashMap.Properties. 二.Map接口 Map接口为该派的"掌门",为我们提供了一些常用的集合操作:(1)从此集合中移除所有映射关系(清空):          clear() (2)判…
Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等. 发现一个特点,…
一.概述 Java中的集合框架主要分为两大派别:Collection 和 Map —— 位于util包下 类的基础关系图如下(图片来自百度) 常用: List——有序可重复 Set——无序不可重复 Map——key-value键值对的形式 完整家谱: / 常用API可以查阅JDK API(IDEA中structure视图查看) 二.基本方法使用 基本的增删改查的方法,请自行依据API进行测试与练习. list基本方法(ArrayList) 添加方法是:.add(e): 获取方法是:.get(in…
集合 Collection单列集合有List 和 Set List集合有: ArrayList集合 特点: 1.存取有序 可以重复 有索引 2.底层是数组实现,查询快,增删慢 ArrayList底层: 1.ArrayList底层是一个数组 2.当初始化ArrayList,数组的长度为0 3.当第一次添加的时候,数组的长度为10 4.以后添加时,如果数组的长度不满足时,进行扩容 ,按1.5来进行扩容 5.扩容之后,将原数组中的元素拷贝到新的数组中 ArrayList的特有方法 方法名 描述 voi…
一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.util.Collection集合 和 java.util.Map集合 二.Collection接口的常用方法 Collection 接口是 List. Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合 JDK不提供此接口的…
集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能.ystem.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典.位向量以及只包含字符串的集合. 常用的集合为Ar…
今天我们来学习集合的第一大体系 List. List 是一个接口,定义了一组元素是有序的.可重复的集合. List 继承自 Collection,较之 Collection,List 还添加了以下操作方法 位置相关:List 的元素是有序的,因此有get(index).set(index,object).add(index,object).remove(index) 方法. 搜索:indexOf(),lastIndexOf(); 迭代:使用 Iterator 的功能板迭代器 范围性操作:使用 s…
为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的,集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象 集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. collection 中有两个常见的接口,如一个是 List 另一个是Set List中有ArrayList,LinkedList,V…
引用数据类型(类) 分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用. 第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. 类的定义和使用 java代码映射成现实事物的过程就是定义类的过程. 我们就拿一部手机进行分析,它能用来做什么呢?它可以打电话,上网,聊微…
一.集合Collection 1. 集合介绍 变量:表示的内存中的一个空间,只能保存确定类型的单个数据 数组:表示的是内存中的多个连续的空间,这些空间中可以存储多个同类型的数据. 后期继续学习面向对象技术,我们在程序中开始创建对象,使用对象.当在程序中创建的多少越来越多的时候,我们就需要将这些对象也存储起来. 需要存储对象:肯定是需要容器. 变量:可以,要求这个变量必须是引用变量,但只能存储单个对象 数组:可以,但是它要求存储的对象个数是固定的.    字符串缓冲区:不可以,因为它中的数据最后都…
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class demo1 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TO…
ArrayList集合 ArrayList的一些方法(JDK1.8): 将指定的元素附加到列表的末尾,true:添加成功,false:添加失败: public boolean add(E e)    在指定的位置插入指定的元素列表. 改变当前位置的元素(如果有的话)右边的所有元素往后移一位(增加一个到它们的索引) public void add(int index, E element)    按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾 public bool…
今天主要说夏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 值和…
在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可以存储引用数据类型比如对象,集合框架更强大之处在于可以同时存储任意类型数据,这是数据无法做到的,另一方面,数组长度是固定的,但是实际生活中需求的容器大都是不确定的,这就需要一个可变长度的容器,而集合框架刚好弥补了数组容量固定的缺陷,这也是集合框架另一个特点:另一个不同之处就是存储方式的区别,数组数据…
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() - 除去此数组的所有操…
集合框架 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 值来决定元素的存储位置,但它同时使用链表维护元素的次序,这样使得看起来是以插入顺序保存的.因为需要维护元素的…
一般大家都知道ArrayList和LinkedList的大致区别:      1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针.      3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据. ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用…
存储数据的容器有数组和StringBuilder.StringBuilder的结果是一个字符串,不满足要求,所以只能选择数组,这就是对象数组.而对象数组又不能适应变化的需求,因为数组的长度是固定的,这个时候,为了适应变化的需求,Java就提供了集合类.由此可见集合的长度是可变的 集合类特点:长度可变. ArrayList<E> 大小可变数组的实践 <E>:是一种特殊的数据类型,泛型.再出现的地方可以用任何引用数据类型替换. 构造方法 ArrayList() 成员方法 添加元素 pu…
java的集合类是一个工具类,存放在java.util包中.它不仅可以存储对象,也可以实现常用数据结构,如栈.队列等.严格的说,集合类存放的是对象的引用,而不是对象本身. java集合主要由这两个接口派生产生:Collection和Map.Collection体系中又包括Set,Queue,List.其中Collection和Map是java集合框架的根接口,他们又包括了一些子接口和实现类. 一.Collection集合体系 在Collection体系中,有三个子接口List.Set和Queue…
一.迭代器概述 1.什么是迭代器? 在Java中,有很多的数据容器,对于这些的操作有很多的共性.Java采用了迭代器来为各种容器提供了公共的操作接口.这样使得对容器的遍历操作与其具体的底层实现相隔离,达到解耦的效果. 在Iterator接口中定义了三个方法: 2.迭代器使用 public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("abc");…