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("地狱"));//true
System.out.println(collections); //[苦海, 疾苦, 世俗, 地狱]
// 3-2:remove(),移除某个元素,返回布尔值,如:
System.out.println(collections.remove("世俗"));//true,集合中有这个值则移除成功并返回true,如果没有这个值,则移除失败,返回false
System.out.println(collections); //[苦海, 疾苦, 地狱]
// 3-3:contains(),判断是否包含某个元素,如:
System.out.println(collections.contains("苦海"));//true
System.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联系笔者删除。
笔者:苦海