Collection集合体系(ArrayList,LinekdList,HashSet,LinkedHashSet,TreeSet,Collections)
温馨提示:这篇文章已超过390天没有更新,请注意相关的内容是否还可用!
目录
一.Collection
二.List集合
三.ArrayList集合
四.LinkedList集合
五.Set集合
六.hashSet集合
七.LinkedHashSet集合
八.TreeSet集合
九.集合工具类Collections
集合体系概述
单列集合:Collection代表单列集合,每个元素(数据)只包含一个值。
双列集合:Map代表双列集合,每个元素包含两个值(键值对)。
单列集合:
List系列集合:添加的元素是有序、可重复、有索引
ArrayList:有序、可重复、有索引
LinekdList:有序、可重复、有索引
Set系列集合:添加的元素是无序、不重复、无索引
HashSet:无序、不重复、无索引
LinkedHashSet:有序、不重复、无索引
TreeSet:按照大小默认升序排序、不重复、无索引
一.Collection
为什么要先学Collection的常用方法?
Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的。
Collection的常用方法:
代码展示:
package com.itheima.day06.teacher.g_collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
/**
* Collection常用方法
*/
public class CollectionDemo {
public static void main(String[] args) {
/*
Collection 是 ArrayList祖宗
*/
// Collection con = new ArrayList();//多态
// ArrayList list = new ArrayList();//本态
//采用多态?为什么呢? 多态特点 多态下只能调用 父中定义的功能,不会调用子类特有的。
// 我们要研究是 共性的功能 使用多态
Collection con = new ArrayList();//多态
// add()
con.add("name1");
con.add("name2");
con.add("name3");
con.add("name4");
System.out.println(con);
//size() 获取集合长度 元素个数
System.out.println("集合中有"+con.size()+"个元素");
// boolean contains(元素) 判断集合中是否包含指定元素
System.out.println("是否包含张三 "+con.contains("张三"));//false
System.out.println("是否包含赵四 "+con.contains("赵四"));//true
//boolean remove(元素) 删除指定元素 返回 是否删除成功
System.out.println("删除一下:王老七 "+con.remove("王老七"));
System.out.println(con);
//情况集合方法 void clear()
con.clear();
System.out.println("清空集合之后:"+con);
// isEmpty() 判断集合是否为空
System.out.println("con当前是空的吗?"+con.isEmpty());
// 重写添加数据
con.add("谢大脚");
con.add("王小蒙");
con.add("香秀");
con.add("王云");
// Object[] toArray() 变成数组
Object[] array = con.toArray();
System.out.println(Arrays.toString(array));
//扩展一个
Collection c1 = new ArrayList();//多态
// add()
c1.add("name1");
c1.add("name2");
c1.add("name3");
c1.add("name4");
Collection c2 = new ArrayList();//多态
// add()
c2.add("name1");
c2.add("name2");
c2.add("name3");
c2.add("name4");
c1.addAll(c2);//c2集合内容 批量添加到c1中
System.out.println(c1);
}
}
Collection的遍历方式:
1.迭代器:
迭代器是用来遍历集合的专用方式(数组没有迭代器),在Java中迭代器的代表是Iterator。
Collection集合获取迭代器的方法 Iterator iterator() 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的第一个元素
Iterator迭代器中的常用方法:
boolean hasNext():询问当前位置是否有元素存在,存在返回true ,不存在返回false
E next():获取当前位置的元素,并同时将迭代器对象指向下一个元素处。
2.增强for循环:
格式:for (元素的数据类型 变量名 : 数组或者集合) { }
增强for可以用来遍历集合或者数组。
增强for遍历集合,本质就是迭代器遍历集合的简化写法。
3.lambda表达式
得益于JDK 8开始的新技术Lambda表达式,出现了一种更简单、更直接遍历集合的方式-Lambda表达式。
需要使用Collection的如下方法来完成:default void forEach(Consumer


