JavaSE基础 (二十五)

集合相关

变量–容器

存取一个元素

数组–容器

一组具有某种特性的数据存放在一起
       存储一组元素(数据类型一致)  长度固定

集合–容器

与数组类似 集合的长度存储之后还能改变
集合用来存储一组元素

Collection

存的都是value

List

有序可重复

Set

无序无重复

Map

存储的是以key-value形式存在
key无序无重复  value无序可重复

序:顺序

添加进去的元素 取得元素的顺序一致 注意指的不是集合自己的顺序

重复:两个对象一致

List集合

1.ArrayList 2.LinkList 3.Vector

ArrayList——-底层就是一个数组

所属的包 java.util

如何创建对象

无参数构造方法 带默认参数的都构造方法 带collection参数的构造方法

常用的方法 —小容器

   存 add
   取 get
   删 remove
   改
   个数 size

add(E e) add(int index,E e)
addAll(Collection c); add(int index,Collection c)
clear();将集合内的元素全部清除
boolean = contains(Object);找寻一个给定元素集合中是否拥有
ensureCapacity(int minCapacity);
E = get(int index);
int = indexOf(Object obj); lastindexOf();
isEmpty();
iterator;//迭代器 1.5之后增强for
removeAll 差集 retainAll()交集
addAll()并集
E = set(int index,E value)
int size();
List = subList(int index,E value)
toArray();集合变成数组
toArray(T[]);
trimToSize();//变成有效元素个数那么长

arryList底层是一个Object[]

什么类型都可以存进去
取出来的时候多态效果 需要自己造型 显得用起来非常麻烦

JDK1.5之后—->泛型

用来规定数据类型的,定义的时候用一个符号代替某种类型
在使用的时候具体的数据类型 将定义的那个符号替换掉
ArrayBox<T>

泛型可以用在哪里?

泛型类

类定义的时候描述某种数据类型 集合就是这样使用

泛型接口

与泛型类的使用基本一致 子类实现接口时必须添加泛型
public interface Text<X>{
     public X value;
}
public class Son<X>implements Test<X>

泛型方法

方法调用时传参数 方法的泛型与类无关 带有泛型的方法可以不放在带有泛型的类中