collection接口

Java集合(一): 集合框架Collection和Map

一曲冷凌霜 提交于 2019-12-04 01:22:45
目录 集合设计的目标 Collection接口 Map接口 集合设计的目标 在Java2之前,Java就提供了特设类。比如Dictionary,Vector,Stack,和Properties这些类用来存储和操作对象数组。 虽然这些类也很有用,但是它们缺少一个核心的主题。由于这个原因,使用Vector和Properties的操作方式有着很大的不同。 集合框架设计出来的目标是: 框架必须是高性能的,基本集合(动态数组,链表,树,哈希表)的实现必须是高效的。 该框架必须允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 对一个集合的扩展和适应必须是简单的。 就像所有对象都继承自Object类一样,Java的所有集合接口都是继承自Collection接口和Map接口。如下图所示,图片来自 Java集合框架 。 在图中主要有四个部分。 接口。代表了集合的抽象数据类型。之所以定义多个接口是为了以不同的方式操作集合对象。比如Collection,Set,List,Queue,Map等。 抽象类。继承上述接口的抽象类,无法实例化,比如Abstrac tCollection,AbstractList,AbstractMap等。 继承了抽象类的具体类。具体类不是直接实现接口的,而是实现了继承了接口的抽象类。比如ArrayList,LinkedList。 工具类

Collection架构

瘦欲@ 提交于 2019-12-03 17:02:16
下面先看看Collection的一些框架类的关系图: Collection是一个接口,它主要的两个分支是: List 和 Set 。 List和Set都是接口,它们继承于Collection。 List是有序的队列,List中可以有重复的元素 ;而 Set是数学概念中的集合,Set中没有重复元素 ! List和Set都有它们各自的实现类。 为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数;这样,在Collection的实现类中,我们就可以通过继承AbstractCollection省去重复编码。AbstractList和AbstractSet都继承于AbstractCollection,具体的List实现类继承于AbstractList,而Set的实现类则继承于AbstractSet。 另外,Collection中有一个iterator()函数,它的作用是返回一个Iterator接口。通常,我们通过Iterator迭代器来遍历集合。ListIterator是List接口所特有的,在List接口中,通过ListIterator()返回一个ListIterator对象。 1 Collection简介 public interface Collection<E> extends Iterable<E> {} //

Collection、泛型

我是研究僧i 提交于 2019-12-03 11:48:34
集合与数组的区别 区别: 1.数组的长度是固定的,集合的长度是可变的. 2.数组中储存的都是同一类型的元素,可以储存基本数据类型(引用数据类型).集合存储的都是对象.而且对象类型可以不一致,在开发中一般当对象多的时候,使用集合进行存储. Collection集合的常用功能 什么是Collection集合? Collection集合是 单类集合的根接口,用于存储一系列符合某种规则的元素它有两个重要的子接口,分别是 java.util.List 和 java.util.Set 。其中, List 的特点是元素有序、元素可重复.Set 的特点是元素无 序,而且不可重复。 List 接口的主要实现类有 java.util.ArrayList 和 java.util.LinkedList , Set 接口的主要实现类有 java.util.HashSet 和 java.util.TreeSet Collection常用功能: public boolean add(E e) :把对象添加到当前集合中. public void clear (): 清空当前集合 public boolean remove(): 把给定的对象在当前集合中删除 public boolean contains(E e): 判断当前集合中是否有该元素. public boolean isEmpty(): 判断集合是否为空

Java集合――Collection接口

匿名 (未验证) 提交于 2019-12-02 21:40:30
Java集合――Collection接口 摘要:本文主要介绍了Java集合的Collection接口。 概述 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。Collection包含了List和Set两大分支。 常用方法 添加单个元素:boolean add(Object object); 添加一个集合里的所有元素:boolean addAll(Collection<? extends E> collection); 删除单个元素:boolean remove(Object object); 删除指定集合里有的元素:boolean removeAll(Collection collection); 删除两个集合都有的元素:boolean retainAll(Collection collection); 判断是否包含某个元素:boolean contains(Object object); 判断是否包含指定集合的所有元素:boolean containsAll(Collection<?> collection); 判断集合是否为空:boolean isEmpty(); 清除集合里的元素:void clear(); 获取集合元素个数:int size(); 将集合转换为数组:Object[] toArray(); 将集合转换为指定类型的数组:<T>

Java集合中List,Set以及Map等集合体系

拥有回忆 提交于 2019-12-02 18:56:00
List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口 Set下有HashSet,LinkedHashSet,TreeSet List下有ArrayList,Vector,LinkedList Map下有Hashtable,LinkedHashMap,HashMap,TreeMap Collection接口下还有个Queue接口,有PriorityQueue类 来源: https://www.cnblogs.com/benbencyb/p/11758701.html

JavaSE 集合类(Collection接口,List接口,Map接口)

孤街醉人 提交于 2019-12-01 21:11:46
集合类就好比一个容器,比如说数组就是一个可以存放数据的容器,但是数组的长度是不可变的,集合类的长度却是可变的。常用的集合有Map集合,Set集合,List集合。 List与set继承collection接口 Collection接口 Collection接口通常不能直接使用,但该接口提供了添加元素,删除元素,管理数据的方法。List接口和Set接口都继承了Collection接口,所以他们能实现Collection的方法。I 构成Collection的单位称为元素。 Collection常用方法如下 方法 功能 add(E e) 将指定的对象加到该集合中 remove(Object o) 将指定对象从该集合中移除 isEmpty() 返回boolean值,用于判断当前集合是否为空 iterator() 返回在此Collection的元素上的迭代器。用于遍历集合 size() 返回Int值,获取该集合中元素的个数 利用iterator 遍历集合 import java . util . ArrayList ; import java . util . Collection ; import java . util . Iterator ; public class Test { public static void main ( String [ ] args ) {

Collection接口、Iterator迭代器、增强for遍历

巧了我就是萌 提交于 2019-12-01 09:59:52
Collection接口   创建集合的格式:     Collection<元素类型> 变量名 = new ArrayList<元素类型>();     方式2:Collection 变量名 = new ArrayList();   Collection接口中的方法     添加元素:add("a");     //判断集合中是否包含某元素:contains("b");     删除元素:remove("a");     集合元素长度:size();     清除所有元素:clear();     例: 1 public class Demo02 { 2 public static void main(String[] args) { 3 Collection<String> col=new ArrayList<String>(); 4 col.add("a"); 5 col.add("b"); 6 System.out.println(col); 7 //col.clear(); 8 //System.out.println(col); 9 //判断集合中是否包含某元素 10 boolean flag=col.contains("b"); 11 System.out.println(flag); 12 //删除元素 13 col.remove("a"); 14 System

JAVA 常见的类集之Collection&List&Queue

元气小坏坏 提交于 2019-11-30 03:49:51
今天回顾类集的基本内容: (一). 类集 实际上就是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充。 类集的特征: 1.这种框架是高性能的; 2.框架必须允许不同类型的类集以相同的方式和高度互操作方式工作; 3.类集必须是容易扩展和修改的。 (二)类集框架主要接口 No 接口 描述 1 Collection 是存放一组单值的最大接口,所谓的单值是指集合中的每个元素都是一个对象。一般很少会直接使用此接口直接操作。 2 List 是 Collection 接口的子接口,也是最常用的接口,此接口对 Collection 接口进行了大量的扩充,里面的内容是允许重复的。 3 Set 是 Collection 接口的子类,没有对 Collection 接口进行扩充,里面不允许存放重复内容。 4 Map Map 是存放一对值的最大接口,即,接口中的每个元素都是一对,以 key  value 的形式保存。 5 Iterator 集合的输出接口,用于输出集合中的内容,只能进行从前到后的单向输出。 6 ListIterator 是 Iterator 的子接口,可以进行双向输出。 7 Enumeration 是最早的输出接口,用于输出指定集合中的内容。 8 SortedSet 单值的排序接口,实现此接口的集合类,里面的内容是可以排序的,使用比较器排序。 9 SortedMap

Java 集合介绍,常用集合类

六眼飞鱼酱① 提交于 2019-11-30 01:31:28
Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: (1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。Queue按照排队规则来确定对象产生的顺序。 (2)Map。一组成对的“键值对”对象,允许你使用键来查找值。映射表让我们能够使用一个对象来查找另一个对象,就像“字典”一样。Map是强大的编程工具。 Map接口和Collection接口的不同 Map是双列的,Collection是单列的 Map的键唯一,Collection的子体系Set是唯一的 Map集合的数据结构是针对键有效,跟值无关 Collection集合的数据结构是针对元素有效 一, Collection接口 (1). collection接口的成员方法 ​ 增加: boolean add(E e) ​ 删除: boolean remove(Object o) ​ 清空: void clear() ​ 包含: boolean contains(Object o) ​ 判断为空: boolean isEmpty() ​ 容量: int size() ​ boolean addAll(Collection c) ​ boolean removeAll(Collection c) ​ boolean containsAll

集合的笼统介绍之Collection

不问归期 提交于 2019-11-27 11:18:05
作为处于容器最高层级的collection接口,它与下面的集合都处于和父子关系,如ArrayList是继承的抽象方法,抽象方法之上是list接口,它们之间的继承关系如下图。 其中,list是有序接口,set是无序接口。 如同所有的集合一样,作为顶层接口的collection也具有①创建方式②集合方法③遍历。 方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>(); 方式2:Collection 变量名 = new ArrayList(); 用案例来描述一下。①创建对象 package com.oracle.demo; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; //集合的接口 public class Demo03 { public static void main(String[] args) { //向上转型 父类对象 变量名=new 子类对象(); Collection<String> col=new ArrayList<String>(); col.add("你好"); col.add("敖丙"); col.add("龙王"); col.add("李靖"); ps:集合所有的创建方式都是根据多态进行的