Java 集合框架1

需求1:现在有20各学生。用student 描述,创建Strudent 对象
既然对象有很多那么一定要先存储对象————存储数据的容器 数组和 StringBuffer()
因为要对每个学生(每个元素)操作就必须保证每个元素是独立的,所以要使用 数组

Student[] strs = new Student[20];**重点内容**

需求2.来了一个新学员
此时原来的容器就用不了了,因为数组的的长度是不变的
解决办法:创建一个可变数组:创建一个新的长度更长的数组,将原来的元素复制到新数组中——这个太过麻烦
Java中提供了解决问题的对象————————集合(存储数据)
集合的使用情况:当数据多了需要存储,需要容器。而数据的个数不确定,无法使用数组,这个时候Java就提供了另一个容器—-集合
集合和数组的区别:
数组的长度是确定的//集合的长度是可变的
数组中存储的是同一类元素,可以存储基本数据类型/////集合存储的是对象,而且对象的类型可以不一致

什么时候使用集合这个容器:当对象多的时候,先进行存储

集合框架:

根据需求的不同,数据存储需求的不同,出现了集合框架,因为生成了各种的集合。这些集合是怎么区分的:
区分的方式:每个容器的数据结构(数据存储的一种方式)不同
有共性的容器都可以不断向上抽取——————形成(体系)集合框架
在顶层的容器——Collection()这是一个接口

学习Collection()接口(在这里面定义了体系中最共性的功能)

public interface Collection
extends Iterable集合层次结构中的根界面 。 集合表示一组被称为其元素的对象。 一些集合允许重复元素,而其他集合不允许(集合的数据结构不同)。 有些被命令和其他无序。 JDK**不提供此接口的任何直接实现**:它提供了更具体的子接口的实现

一个容器最基本的功能:添加 删除
简单应用:

package Collection;
//运用集合
import java.util.*;
public class CollectionDemo1 {
    public static void main(String[] args){
        Collection coll = new ArrayList();//**通过Collection 的实现类的子类,创建对象**
        collectionAdd(coll);

    }
    public static void collectionAdd(Collection coll){
        //向集合中加入元素  add(Object)
        coll.add("abcd1");
        coll.add("abcd2");
        coll.add("abcd3");
        //打印一下集合
        System.out.println(coll);
    }
}

Conllection 是一个接口,创建集合对象只能通过它的子类来创建,至于是哪一个并不是很重要。
基本方法:
boolean add(E e) 确保此集合包含指定的元素(可选操作)。
void clear() 从此集合中删除所有元素(可选操作)。
boolean contains(Object o) 如果此集合包含指定的元素,则返回 true 。
boolean equals(Object o) 将指定的对象与此集合进行比较以获得相等性。
int hashCode() 返回此集合的哈希码值。
boolean isEmpty() 如果此集合不包含元素,则返回 true 。
boolean remove(Object o) 从该集合中删除指定元素的单个实例(如果存在)
Object[] toArray() 返回一个包含此集合中所有元素的数组。
int size() 返回此集合中的元素数。

boolean addAll(Collection

package Collection;
//运用集合
import java.util.*;
public class CollectionDemo1 {
    public static void main(String[] args){
        Collection coll = new ArrayList();//通过Collection 的实现类的子类,创建对象
        collectionDemo1(coll);//演示Colletion 中的一般方法
        Collection coll1 = new ArrayList();
        Collection coll2 = new ArrayList();
        collectionDemo2( coll1, coll2);

    }
    //解析带有  All  的方法
    public static void collectionDemo2(Collection coll1,Collection coll2){
        coll1.add("qwe1");
        coll2.add("qwe2");
        //将2 中的元素全部加到1中
        //带All 的函数,要比较的是两个集合中的所有的元素 是否符合判断
        coll1.addAll(coll2);
        System.out.println("coll1= " +coll1+"coll2 = "+coll2);
    }
    //解析一般方法
    public static void collectionDemo1(Collection coll){
        //向集合中加入元素  add(Object)
        coll.add("abcd1");
        coll.add("abcd2");
        coll.add("abcd3");
        //删除集合中的对象
        coll.remove("abcd1");
        //判断是否包含
        System.out.println(coll.contains("abcd1"));
        System.out.println(coll.contains("abcd2"));
        //打印一下集合
        System.out.println(coll);
    }
}

总结一下:
Java中的容器
1.数组:长度有限并且一定,具备长度和元素的下标
2.StringBuffer() /StringBuilder() : (字符串缓冲区)里面可以存储各种的数据(数量不定)但是最后都会变成字符串来存储
这两个是类,有可以存储数据同时还提供了各种对数据操作的方法(增删改查。。。)
3.集合:存储的是对象,也提供了各种操作的方法(增删)
到此的学习:
String ————> StringBuffer / StringBuilder ——————>基本数据包装类(Integer) ——————>集合

猜你喜欢

转载自blog.csdn.net/Stitch__/article/details/82288435