collection接口

谈谈Java的Collection接口

余生颓废 提交于 2020-01-18 16:28:38
目录 谈谈Collection 前言 Collection 方法 1.boolean add(E) 2.void clear() 3.boolean contains(Object o) 4.boolean isEmpty() 5.Iterator iterator() 6.int size() 7.Boolean remove() 总结 什么是可选操作 集合使用的整体框架(步骤) 谈谈Collection 前言 这一篇讲的collection接口;首先,集合是用来 存储数据 的,它是基于某种数据结构数据容器。常见的数据结构:数组(Array)、集(Set)、队列(Queue)、链表(Linkedlist)、树(Tree)、堆(Heap)、栈(Stack)和映射(Map)等结构。 集合大类分为了Collection和Map 。 如下图 Collection 这一篇文章的内容——现在讲下collection,“集合、容器”,用来存储数据的,它是一个 接口 ,不能直接实例化使用;只能通过它的子类来完成,从上图来看,Collection分为List和Set,List集合中的元素是有序的、可重复的,而Set集合中的元素是无序的、不能重复的。List集合强调的是有序,Set集合强调的是不重复。下面是它的已知实现类。 Collection是描述所有序列容器的共性的根接口

java集合之Collection

孤者浪人 提交于 2020-01-14 07:49:37
回看了一下之前自己大学时候总结的C渣渣博客,没想到自己毕业不知不觉已经在java的开发之路上走了好几个月了,在java开发上还是一只小菜鸡,希望自己快点成长吧,借鉴多个大佬优秀博客,整理出来的java.Collection集合,欢迎大家纠错,菜鸡慢慢进步吧 ~~ ヽ(◕ฺˇд ˇ◕)ノ (ง •̀_•́)ง (ฅ´ω`ฅ) ✿◡‿◡ 1.1 集合概述 集合是什么? 集合是java中提供的一种容器,可以用来存储多个数据。 1.2 集合框架 JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操作架构,才能了解何时采用哪个类,以及类之间如何彼此合作,从而达到灵活应用。 集合按照其存储结构可以分为两大类,分别是 单列集合 java.util.Collection 双列集合 java.util.Map 。 接下来通过一张图来描述整个集合类的继承体系。 说明: 黄色:代表接口 绿色:代表抽象接口 蓝色:代表实现类 本篇文章我们主要来看看 Collection 的相关内容。 Collection 2.1 Collection 简介 集合和数组既然都是容器,它们有什么区别呢? 1、数组长度固定,集合长度可变。 2、数组中只能是同一类型的元素且可以存储基本数据类型值。集合只能存对象,类型可以不一致。 Collection:单列集合类的根接口

Java_集合与泛型

人走茶凉 提交于 2020-01-10 00:31:43
Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据。 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的。集合的长度是可变的。 集合中存储的元素必须是引用类型数据 集合的继承关系图 a:ArrayList的继承关系: 查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口。Collection接口为最顶层集合接口了。 源代码: interface List extends Collection { } public class ArrayList extends AbstractList implements List{ } b:集合继承体系 这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。 Collecton接口常用的子接口有:List接口、Set接口 List接口常用的子类有:ArrayList类、LinkedList类 Set接口常用的子类有:HashSet类、LinkedHashSet类 可以看下图了解继承关系 集合Collection的方法

Stream数据流(Collection接口扩充)

百般思念 提交于 2020-01-04 10:32:36
  从JDK1.8发行的时候实际上就是世界上大数据兴起的时候,在整个大数据开发里面有一个最经典的模型就是:MapReduce 实际上这属于数据的两个操作阶段:     Map:处理数据库。     Reduce:分析数据。   而在类集里面由于其本身的作用也可以进行大量数据的存储,所有就顺其自然的产生了MapReduce的操作,而这些操作通过Stream数据流来完成了。 Collection接口改进   现在的Collection接口里面除了定义有一些抽象方法之外,也提供有一些普通方法,下面来观察这样的一个方法,下面观察这样的一个方法:     forEach()输出支持:default void forEach(Consumer<? super T> action)     取得Stream数据流对象:public default Stream<E> stream(); 1 package cn.Tony.demo; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class TestDemo{ 7 public static void main(String[] args) throws Exception { 8 List<String> all=new ArrayList<String>

集合Collection接口

早过忘川 提交于 2019-12-28 14:31:08
集合Collection接口: 是所有单列集合的最顶层接口 add()方法返回的意思是是否添加成功,添加动作是一定成功的。但是对于其他集合,添加不一定成功 分为list接口和set接口 List接口有序的(存储123,取出也是123),可以重复,有索引 有索引,可以使用普通for循环遍历 **set接口无序不可重复** 没有索引,不能使用带索引的方法,不能使用普通for循环遍历 哈希值:他是一个10进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来的地址,不是数据实际存储的物理地址) 在Object类有一个方法,可以获取对象的哈希值 HashSet的查询速度非常快,先把元素按照相同的哈希值分组,相同的哈希值把它挂到下面, 超过8位把他转换为红黑树 HashSet集合存储数据的结构(哈希表) jdk1.8之前:哈希表=数组+链表 jdk1.8版本之后:哈希表也等于数组加链表,链表变成了红黑树,数组+红黑树(提高查询的速度)如果链表长度超过了8位,那么就会把链表转换为红黑树 哈希表的特点:速度快 HashSet集合不允许重复的原理 只要是new的,就会把他们存储到堆内存当中,Set集合在调用add方法的时候,add方法会调用元素的hashCode方法和equals方法,通过hashCode方法计算元素的哈希值,判断元素是否重复 来源: CSDN 作者: 黄大仙Ol

[Day19]Collection接口中的子类(List集合、Set集合)

核能气质少年 提交于 2019-12-25 17:57:10
1.List接口   1.1API总结   (1)是一个元素存取 有序 的集合   (2)是一个 带有索引 的集合,通过索引可以精确的操作集合中的元素   (3)集合中有可以 重复 的元素,通过元素的equals方法,来比较是否为重复的元素   (4)List接口的常用子类:ArrayList集合、LinkedList集合   1.2List接口中常用的方法   (1)add(Object e):向集合末尾处添加指定的元素   (2)add(int index,Object e):向集合指定索引处,添加指定的元素,原有元素依次后移   (3)remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素   (4)remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素   (5)set(int index,Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素   (6)get(int index):获取指定索引处的元素,并返回该元素   1.3List集合3中遍历方式   (1) 迭代器Iterator   (2) for循环   (3) 加强for循环   1.4 Iterator的并发修改异常   (1)产生原因:在迭代过程中,使用了集合的方法对元素进行操作。导致迭代器不知道集合中的变化

Java:Collection集合接口

依然范特西╮ 提交于 2019-12-22 09:20:51
Collection接口 在有数组的前提下,java进一步引入集合的概念。数组和集合,同属于容器。 两者的区别: 长度:数组的长度时固定的,集合的长度是可以改变的。 存储的数据类型:数组可以存储基本数据类型和引用数据类型,集合只能引用数据类型。 泛型 <存储元素的类型是什么,填什么> 对象名 = new 集合类名<存储元素的类型是什么,填什么>(); Collection常用方法(Collection接口,不能实例化对象,只能通过多肽的形式) public boolean add(E e)`: 把给定的对象添加到当前集合中 。 public boolean remove(E e)`: 把给定的对象在当前集合中删除。 public boolean contains(E e)`: 判断当前集合中是否包含给定的对象。 public boolean isEmpty()`: 判断当前集合是否为空。 public int size()`: 返回集合中元素的个数。 public Object[] toArray()`: 把集合中的元素,存储到数组中。 public void clear()` :清空集合中所有的元素。 Collection < String > c = new ArrayList < > ( ) ; //在JDK7.0后通过泛型创建集合对象的时候后面的<>里面内容可以省略不写 c

Java之Collection接口(集合)

不问归期 提交于 2019-12-09 13:34:53
集合概述 集合到底是什么呢? 集合 :集合是java中提供的一种容器,可以用来存储多个数据 集合和数组既然都是容器,它们有啥区别呢? 区别1: 数组的长度是固定的。 集合的长度是可变的。 区别2: 数组中存储的是同一类型的元素,可以存储基本数据类型值,也可以存储引用类型: 集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。 学习集合的目标 会使用集合存储数据 会遍历集合,把数据取出来 掌握每种集合的特性 学习集合的方式 学习顶层: 学习顶层接口或者抽象类中共性方法,所有的子类都可以使用 使用底层 :顶层不是接口就是抽象类,无法直接使用,我们需要使用底层的子类来创建对象使用 集合框架 在使用JAVASE提供的API前,了解其继承与接口操作架构,才能知道何时采用哪个类,以及类之间如何彼此合作,从而达到灵活应用。集合按照其 存储结构 可以分为两大类,分别是 单列集合java.util.Collection :定义了所有单列集合的共性方法。 双列集合java.util.Map :定义了所有双列集合的共性方法。JDK中提供了丰富的集合类库,为了便于初学者进行系统地学习,接下来通过一张图来描述整个集合类的继承体系。 注意事项: 上图橙色框里填写的都是接口类型,而蓝色框里填写的都是具体的实现类 集合本身是一个工具,它存放在java.util包中。在

Java总结之容器家族--Collection

假如想象 提交于 2019-12-09 11:38:08
零、前言 Collection是[收集品]的意思,这里称[容器],是java中的一个接口,位于 java.util 包下 Collection下有三大接口: List(列表) 、 Set(集合) 、 Queue(队列) Collection.png 容器接口子类及方法.png 第一节:List接口 List:列表,顾名思义是一种表结构,核心方法: 按索引插入元素 void add(int var1, E var2) 按索引删除元素 E remove(int var1); 按索引修改元素 E set(int var1, E var2) 按索引查询元素 E get(int var1) 特点: 1.增删改查操作都可以按照索引进行精确的控制,所以是元素的有序排列 2.允许相同元素 List子类.png List是java中使用频率非常高的一个接口,最要的子类:ArrayList、Vector、LinkedList 1.其中ArrayList、Vector是AbstractList-->AbstractCollection-->Collection 路线 2.LinkedList不止实现了List,还实现了Deque,就像得到两个师傅的真传,招式(方法)更多一些 Queue接口是队列(先进先出),Deque接口(双端队列)是Queue的弟子,两头都能随意进出 所以根据需求即可当栈也可当队列

Java中的集合Collection

若如初见. 提交于 2019-12-04 16:22:27
集合的体系: ##Collection 接口 单列集合 ###List 接口 可以重复 存取有序。有索引。 ArrayList LinkedList Vector(已经不用了) ###Set 接口 不可以重复 存取无序 无索引 HashSet TreeSet ##Map 接口 双列集合。 HashMap TreeMap Properties 来源: https://www.cnblogs.com/maomaodesu/p/11873940.html