ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

集合2

2022-05-26 12:33:38  阅读:197  来源: 互联网

标签:ArrayList list 接口 add Collection 集合


1.1     集合介绍

集合,集合是java中提供的一种容器,可以用来存储多个数据。

在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢?

 

数组的长度是固定的。集合的长度是可变的。集合中存储的元素必须是引用类型数据

1.2     ArrayList集合存储元素

我们来回顾下,使用ArrayList集合存储元素并遍历的过程。

 

练习一:ArrayList集合存储5个int类型元素

public static void main(String[] args) {

ArrayList<Integer> list = new ArrayList<Integer>();

    list.add(111);

    list.add(222);

    list.add(333);

    list.add(444);

    list.add(555);

    for(int i=0; i<list.size(); i++){

System.out.println(list.get(i));

}

}

练习二:ArrayList集合存储5个Person类型元素

public static void main(String[] args) {

ArrayList<Person> list = new ArrayList<Person>();

    list.add(new Person("小强"));

    list.add(new Person("老王"));

    list.add(new Person("小虎"));

    list.add(new Person("小泽"));

    list.add(new Person("小红"));

    for(int i=0; i<list.size(); i++){

        Person p = list.get(i);

System.out.println(p);

}

}

1.3     集合的继承实现关系

查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口。Collection接口为最顶层集合接口了。 采集,聚集

源代码:

interface List extends Collection {

}

public class ArrayList extends AbstractList implements List{

}

这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。

 

 

Collection接口常用的子接口有:List接口、Set接口

 

List接口常用的子类有:ArrayList类、LinkedList类

 

Set接口常用的子类有:HashSet类、LinkedHashSet类

 

1.4     Collection接口概述

既然Collection接口是集合中的顶层接口,那么它中定义的所有功能子类都可以使用。查阅API中描述的Collection接口。Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。

继续查阅API,发现Collection接口中很多集合的操作方法,那么这些方法都具体能做什么呢?

1.5     Collection接口的基本方法

 

这里我们不关心具体创建的Collection中的那个子类对象,这里重点演示的是Collection接口中的方法。

创建集合的格式:

方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();

方式2:Collection 变量名 = new ArrayList();

方式1创建的集合,只能存储<>中指定的元素类型,该方式为常用方式

 

方式2创建的集合,集合的元素类型默认为Object类型,即任何类型的元素都可以存储。

 

演示Collection接口中的方法

//创建集合

Collection coll = new ArrayList();

//1,往集合中添加对象元素。add(E e)方法,E代表创建集合时所指定的数据类型如<String>,那么,E就代表String类型;创建集合时若没有指定数据类型,那么,E就代表Object类型。

coll.add("abc");

coll.add("ef");

coll.add("g");        

//把集合打印一下。

System.out.println(coll); //打印结果为:[abc, ef, g]

System.out.println(coll.toString()); //打印结果为:[abc, ef, g]

//2,从集合中删除元素。remove(Object o)方法

coll.remove("ef");        

//删除后,集合元素为[abc, g]

//3,判断集合中是否包含指定元素。contains(Object o)方法

System.out.println(coll.contains("abc"));

//打印结果为true

System.out.println(coll.contains("ef"));

//打印结果为false

    

//4,获取集合元素个数。size()方法

System.out.println(coll.size());

//打印结果为2

 

//5,返回包含集合中所有元素的数组。toArray()方法

String[] array = coll.toArray();

//数组中的元素为{"abc", "g"}

 

//6,清除集合元素。remove()方法

coll.clear();

//清空后,集合元素为[],代表没有元素

标签:ArrayList,list,接口,add,Collection,集合
来源: https://www.cnblogs.com/puwuyang/p/16313018.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有