提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
数组(容器)
数组有什么特点?
int[]a=new int [5];
使用数组来存储多个数据,程序在运行时数据数量是变化的,但是(数组的不足)数组一旦给定,不能改变其长度,我们需要通过频繁的扩容去存储更多的数据,(数组的优点)数组的查询块。
对数据操作是多种多样的,增添删除操作多,查询比较少,用数组不方便,针对于程序中,不同数据的存储需求不同,多以java语言提供了许多不同的存储结构(对底层结构进行包装)
1.数组 2.链表 3.哈希 4.树
一、什么是集合?
在我们的开发实践中,经常需要保存一些变长的数据集合,于是,我们需要一些能够动态增长长度的容器来保存我们的数据,而我们需要对数据的保存的逻辑可能各种各样,于是就有了各种各样的数据结 构。Java中对于各种数据结构的实现,就是我们用到的集合。
二、集合的体系
共有4个接口,8个实现类
三、Collection(接口)
Collection(接口)的概念:
作为单例集合中的顶级接口,里面定义了单例集合所共有的方法:以增添,删除,更改,查询,判断,转换方法为主
Collection(接口)中的方法:
boolean add(Object element); 增添元素,返回true,false
boolean remove(Object element); 删除元素,成功删除返回true,没有成功返回false
void clear(); 清空集合中的元素
int size(); 集合的长度 ,返回int值
boolean isEmpty(); 判断集合是否为空,返回true,false
boolean contains(Object element); 判断集合中是否包含给定的元素 返回true,flase
boolean retainAll(Collection c); 求交集,集合数据发生变化返回true, 不变返回false
下面是代码实现
package com.lcy.javaCollection.list;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args) {
//集合是容器,可以存储不同类型的数据,严格意义上讲集合可以存储任意类型(引用类型)的数据
//我们可以通过泛型的语法,为集合设置一个固定的类型,这样就只能存储设置的数据类型
Collection<String>c=new ArrayList<>();//后面<>里可以加,也可以不加,因为编译看左
c.add("a");//向集合末尾添加元素
c.add("b");
c.add("c");
c.add("d");
Collection<String>c1=new ArrayList<>();
c1.add("d");
c1.add("e");
c1.add("f");
Collection<Integer>c2=new ArrayList<>();
c2.add(1);//自动装箱
c2.add(2);
c2.add(3);
System.out.println(c1.addAll(c)); //把一个集合中的元素加到另一个集合中
System.out.println(c1.contains("c"));//判断一个集合中是否包含指定元素
System.out.println(c1.isEmpty());//判断是否为空集合(没有元素)
System.out.println(c1.equals(c));