Java中Collection接口的用法

Collection接口是List、Set、Queue接口的父接口
Collection接口定义了可用于操作List、Set和Queue的方法--增删改查
List接口及其实现类--ArrayList
List是元素有序并且可以重复的集合,被称为序列。
List可以精确的控制每个元素的插入位置,或删除某个位置元素
List有add()插入方法和get()获取方法
ArrayList--数组序列,是List的一个重要实现类
ArrayList底层是由数组实现的,这也是其名字的由来

List接口

List中的元素是有序的且可以重复

添加:ArrayList.add(对象),默认添加在List的最后,可以在指定位置添加 ArrayList.add(索引位置,对象),可以用get()方法取出来

ArrayList.addAll(Arrays.asList(数组对象))方法可以一次添加多个对象,Arrays.asList()就是将数组转化为一个List对象

ArrayList.get(int index) 一定要注意,a使用dd()或者是addAll()方法插入的元素一律会变成Object类型,那么使用get()方法取出时也将是Object类型的,这是接受取出的元素时,要做相应的类型强转。

类型 对象 = (类型) ArrayList.get(索引位置);//对象存入集合都变成object类型,取出时需要进行类型转换

删除:ArrayList.remove(对象或者对象在List中的索引位置)

修改:ArrayList.set(索引位置,修改内容)

通过ArrayList.size()方法可以得到List长度

可以通过foreach(元素类型 元素变量 :遍历对象名(即数组名))方法,get方法,迭代器iterator方法 遍历List

foreach方法中,元素类型固定为Object,因为放到集合中时,元素的类型被忽略了

iterator方法中,用hasNext()方法来确定是否List还有元素,有则返回true。迭代器不存储东西,依赖其他结构存在

泛型

在开发中,可以创建一个泛型来规定对象的类型。在集合中,不能添加泛型规定类型意外的对象。

泛型中除了可以添加规定的类型还可以添加规定类型的子类型。
定义子类型的时候要在父类型中添加一个无参的构造方法,否则出错,因为调用子类型的构造方法时,系统会默认调用父类的无参构造方法(super();)。
泛型集合中不能使用基本数据类型,要使用基本数据类型的包装类,即Integer,Long,Boolean。或者为引用类型List<Course> course

Set接口

Collection接口-Set接口 - 实现类HashSet
一、Set是元素【无序且不可重复】的集合,被称作集
二、HashSet——哈希集,是Set的重要实现类
***注意:与List比较
· Set的遍历只能用foreach和iterator,不能用get()方法(因为是无序表),同理,也没有set()方法
· Set中重复添加一个对象,只会保留一个,并且保留的是第一次的添加的那一个。

Set中可以添加空对象,但是一般开发中不这么用。

时间: 2024-10-10 23:02:17

Java中Collection接口的用法的相关文章

java中list接口的用法

list为继承自collection接口的接口,list里存储的值的类型通过list<object>泛型来声明:存值时调用ArrayList类的add方法,删除时调用用remove方法.list的很多方法与set很相似,但在存储结构上有区别,set的存储特点为无序和互异,相反的,list的存储特点为有序和存异. package test_list; import java.util.ArrayList; import java.util.HashSet; import java.util.It

JAVA中Collection接口和Map接口的主要实现类

Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set. 所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collectio

java中set接口的用法

java中的set接口有如下的特点: 不允许出现重复元素: 集合中的元素位置无顺序: 有且只有一个值为null的元素. 因为java中的set接口模仿了数学上的set抽象,所以,对应的数学上set的特性为: 互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次. 无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的.集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序.但就集合本身的特性而言,元素之间没有必然的序. 空集的性质:空集是一切集合的子集 S

java 中Collection数据结构的用法

JAVA中常用的数据结构(java.util. 中) java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类.其主要的关系(继承关系)有:  (----详细参见java api文档!) Collection---->Collections                                                                          

Java中Enumeration接口的用法

Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法,与Iterator差不多,用来遍历集合中的元素  但是枚举Enumeration只提供了遍历Vector和Hashtable类型集合元素的功能,这种类型的集合对象通过调用elements()方法获取一个Enumeration对象  然后Enumeratino对象再调用以下方法来对集合中的元素进行遍历. hasMoreElements():判断Enumeration对象中是否还有数据

java.util (Collection接口和Map接口)

1:Collection和Map接口的几个主要继承和实现类                  1.1  Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的"子接口"如List和Set. 如

java----数据结构与算法----JavaAPI:java.util.Collection接口

Java API--java.util.Collection接口 /** * @author chen * @date 20170317 * @description:本程序讲述Collection接口 * java.util.Collection * 概述:Collection接口是Set和List接口的父接口,Collection接口中定义了一些 * 用于集合元素操作的方法,被其子接口以及子接口的实现类所继承 * 构造函数 * java中接口不能有构造函数 * 成员函数: * [1]概述,由

Java中Comparator接口

Comparator位于java.util包下 public interface Comparator<T> 强行对某个对象 collection 进行整体排序 的比较函数.可以将 Comparator 传递给 sort 方法(如 Collections.sort 或 Arrays.sort),从而允许在排序顺序上实现精确控制.还可以使用 Comparator 来控制某些数据结构(如有序 set或有序映射)的顺序,或者为那些没有自然顺序的对象 collection 提供排序. 当且仅当对于一组

Java中Class类及用法

Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类.Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建. 说白了就是: Class类也是类的一种,只是名字和class关键字高度相似.Java是大小写敏感的语言. Class类的对象内容是你创建的类的类型信息,比如你创建