Collection集合:
概念:集合是java中提供一种存储多个数据的容器;数组也是存储数据的容器,集合和数组的区别就是集合的长度可以改变,而数组的长度不可以改变;集合可以存储多种类型的对象数据,而数组只能存储同种类型的数据;集合只能存储对象类型数据,而数组可以存储存储基本类型数据或对象数据,但是不能存储在同一个数组中;集合有很多种,ArrayList集合只是其中一个;
集合框架(集合架构):
有的集合中存在共同的特点,java中把共同的特点抽取为一个父类(接口),集合中有两个接口,分别为List接口和Set接口,其中List接口的子类有:
Vector集合:后面介绍
ArrayList集合:前面已介绍
LinkedList集合:后面介绍
List接口特点:有序的集合(存储和取出元素顺序相同)、允许储存重复元素、有索引,可通过for循环遍历;
Set接口的子类有:
TreeSet集合:后面介绍
HashSet集合:后面介绍
LinkedHashSet集合:后面介绍
Set接口特点:不允许储存重复元素、没有索引,不能通过简单的for循环遍历
List接口和Set接口也有父类接口(Collection接口,位于java.util下,是集合中最顶层的接口),Collection接口定义所有集合中共同的方法,没有带索引的方法,它们的方法都可以被这些单集合使用,常用共同方法如:
add添加元素到当前集合中,返回布尔值、
clear清空集合中所有的元素、
remove移除某个元素、
contains判断集合中是否包含某元素、
isEmpty判断当前集合是否为空集合、
size返回集合中元素的个数、
toArray将集合转换为数组,原集合不变
//1.导入Collection包和ArrayList包:
import java.util.Collection;
import java.util.ArrayList;
public class CollectionInterface{public static void main(String[] args){// 2.创建集合对象:Collection<String> collections = new ArrayList<>();//父类指向子类对象,多态的形式创建对象(集合的对象),这里的单集合可以是Collection下的任意一个单集合,并且下面的方法通用。System.out.println(collections); //[],返回一个空,说明覆盖重写了toString方法。//3.Collection中常用方法://3-1:add(),添加元素到集合中,并返回布尔值,成功返回true,如:collections.add("苦海");collections.add("疾苦");collections.add("世俗");System.out.println(collections.add("地狱"));//trueSystem.out.println(collections); //[苦海, 疾苦, 世俗, 地狱]// 3-2:remove(),移除某个元素,返回布尔值,如:System.out.println(collections.remove("世俗"));//true,集合中有这个值则移除成功并返回true,如果没有这个值,则移除失败,返回falseSystem.out.println(collections); //[苦海, 疾苦, 地狱]// 3-3:contains(),判断是否包含某个元素,如:System.out.println(collections.contains("苦海"));//trueSystem.out.println(collections.contains("世俗"));//false// 3-4:isEmpty(),判断当前集合是否为空集合,返回布尔值,如:System.out.println(collections.isEmpty());//false// 3-5:size(),返回当前集合元素的个数,如:System.out.println(collections.size());//3// 3-6:toArray(),将集合转换为数组并返回,注意这里是创造出新的数组,原集合不变,如:System.out.println(collections.toArray()[0]);//苦海,调用数组的第一个元素,直接打印数组为地址值System.out.println(collections);//[苦海, 疾苦, 地狱]// 3-6:clear(),清除集合中的元素,如:collections.clear();System.out.println(collections);//[]};
};
Iterator迭代器接口:
迭代器是集合中通用的取出元素的对象,Iterator位于java.util包下;
迭代器工作原理:取元素之前先判断集合中是否有元素,如果有,则取出,之后继续判断是否有元素,如果还有,那么继续取出,一直这样循环,直到没有元素时停下,这也称为迭代。
常用方法:迭代器中有两个常用方法:hasNext判断集合中是否有元素和Next取出集合中下一个元素;
// 1.导包:
import java.util.Vector;
import java.util.Collection;
import java.util.Iterator;
public class IteratorInterface{public static void main(String[] args){// 2.迭代器的使用步骤:// 2-1:Iterator是一个接口,需要实现类对象才可以使用,但是Collection中提供了方法iterator即可返回迭代器(多态)// 2-2:使用Iterator中的hasNext方法判断集合中是否还有元素,有则执行第三步,否则结束迭代过程// 2-3:使用Iterator中的next方法取出下一个元素,如:Collection<String> collections = new Vector<String>();//创建一个集合对象collections.add("2米");//添加元素collections.add("5米");collections.add("8米");Iterator<String> iterators = collections.iterator();//获取迭代器,迭代器也有泛型,其类型应和集合保持一致,如String;接口=实现类,多态while(iterators.hasNext()){//结合循环进行迭代System.out.println(iterators.next());/* 2米5米8米*/}; // 3.java中for each循环,专用于遍历集合或对象,其语法使用如下:for(String str : collections){//语法:str为变量(变量名自定义)代表集合或对象中的元素或属性或方法,前面用修饰符进行修饰 :集合或对象System.out.println("for循环遍历:" + str);}};
};
提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海