首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Collection接口原理讲解

Collection集合

1. 集合概述

一般集合如ArrayList,相对于数组而言

数组的长度是固定的,集合的长度是可变的

数组中存储的是同一类型的元素,可以存储基本数据类型数值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般对象多的时候,使用集合进行存储

2. 集合框架

集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map,这篇文章讲的主要是单列结合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。

3. Collection集合常用功能

3.1 共性的方法有七个,注意:没有索引index,共性方法中没有索引作为参数,要循环的话,用迭代器

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(); 清空集合中所有的元素

我们写一个代码,把上面的方法都用一下

public static void main(String[] args) {

//创建集合对象,可以使用多态

Collection stars = new ArrayList();

//刚创建时,里面什么都没有,打印出来的是一对中括号[]

System.out.println(stars); //[]

//1. public boolean add(E e); 把给定的对象添加到当前集合中

stars.add("郑凯");

stars.add("狐狸");

stars.add("王刚");

//这时候把stars打印出来就有东西了

System.out.println(stars); //[郑凯, 狐狸, 王刚]

//2. public boolean remove(E e); 把给定的对象在当前集合中删除

boolean b1 = stars.remove("郑凯");

System.out.println(b1); // true

System.out.println(stars); //[狐狸, 王刚]

//3. public boolean contains(E e); 判断当前集合中是否包含给定的对象

boolean b2 = stars.contains("郑凯");

System.out.println(b2); //false,代表对象已删除成功

//4. public boolean isEmpty(); 判断当前的集合是否为空,真的空就返回true

boolean b3 = stars.isEmpty();

System.out.println(b3); //false

//5. public int size(); 返回当前集合中元素的个数

int size = stars.size();

System.out.println(size); //2

//6. public Object[] toArray(); 把集合中的元素,存储到数组中

Object[] arr = stars.toArray();

for (int i = 0; i

System.out.println(arr[i]); //狐狸, 王刚

}

//7. public void clear(); 清空集合中所有的元素

stars.clear();

//看看是不是真的清空了

System.out.println(stars.isEmpty()); //true

}

由于这七个方法是共性的方法,所以我们把Collection stars = new ArrayList();的右边的ArrayList改成LinkedList、Vector、HashSet…等等都是可以的,因为这七个方法是通用的方法。

更多精彩,请关注微信公众号:仁杰网络工作室

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190823A0DIY700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券