集合体系概述
集合体系结构
集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也非常常用。
为了满足不同的业务场景需求,Java还提供了很多不同特点的集合给我们选择:
- Collection代表单列集合,每个元素(数据)只包含一个值。
- Map代表双列集合,每个元素包含两个值(键值对)。
Collection集合体系
Collection集合特点
- List系列集合:添加的元素是有序、可重复、有索引。
ArrayList、LinkedList:有序、可重复、有索引。
- Set系列集合:添加的元素是无序、不重复、无索引。
HashSet:无序、不重复、无索引。
LinkedHashSet:有序、不重复、无索引。
TreeSet:按照大小默认升序排序、不重复、无索引。
Collection的常用方法
介绍
为什么要先学Collection的常用方法?
- Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的。
Collection的常见方法如下:
实例演示
1.public boolean add(E e):添加元素,添加成功返回true。
运行结果:
2.public void clear():清空集合的元素。
运行结果:
3.public boolean isEmpty():判断集合是否为空 是空返回true,反之。
4.public int size():获取集合的大小。
5.public boolean contains(object obj):判断集合中是否包含某个元素。
运行结果:
6.public boolean remove(E e):删除某个元素:如果有多个重复元素默认删除前面的第一个
运行结果:
7.public Object[] toArray():把集合转换成数组
运行结果:
8.public Object[] toArray()把一个集合的全部数据倒入到另一个集合中去。
运行结果:
完整代码
import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; public class collectionCommonMethod { public static void main(String[] args) { Collection<String> c = new ArrayList<>(); //多态写法 //1.public boolean add(E e):添加元素,添加成功返回true。 c.add("java1"); c.add("java2"); c.add("java3"); System.out.println(c); //2.public void clear():清空集合的元素。 c.clear(); System.out.println(c); //3.public boolean isEmpty():判断集合是否为空 是空返回true,反之。 System.out.println(c.isEmpty()); //false //4.public int size():获取集合的大小。 System.out.println(c.size()); //3 //5.public boolean contains(object obj):判断集合中是否包含某个元素。 System.out.println(c.contains("java1")); //true System.out.println(c.contains("Java1")); //false //6.public boolean remove(E e):删除某个元素:如果有多个重复元素默认删除前面的第一个 System.out.println(c.remove("java1")); System.out.println(c); //7.public Object[] toArray():把集合转换成数组 Object[] arr = c.toArray(); System.out.println(Arrays.toString(arr)); //如果要转换成特定的类型,要确保集合和数组的数据类型是一致的 String[] arr2 = c.toArray(new String[c.size()]); System.out.println(Arrays.toString(arr2)); //8.public Object[] toArray()把一个集合的全部数据倒入到另一个集合中去。 Collection<String> c1 = new ArrayList<>(); c1.add("java1"); c1.add("java2"); Collection<String> c2 = new ArrayList<>(); c2.add("java3"); c2.add("java4"); c1.addAll(c2); //把c2集合的全部数据倒入到c1集合中去 System.out.println("c1:" + c1); //同时c2的数据并不会丢失 System.out.println("c2:" + c2); } }
END