JAVA集合概述
1.集合是JAVA中提供的一种容器,可以用来存储多个数据。集合和数组都是容器,二者的区别在于:
(1):数组的长度是固定的,集合的长度是可变的;
(2):数组中存储的都是统一类型的,比如说是(int、String、double)类型的,可以用来存储基本数据类型,但是也可以来存储对象。’比如说存储一个类(Car 类)类里面有属性:品牌、车牌号、租金、款式;一个车的信息放在一个数组中,数组的类型为可以为父类或者子类,再进行判断;
public static Vehice[] a = new Vehice[8];
static {
a[0] = new Car("宝马", "皖A1111", 100, "3系");
a[1] = new Car("宝马", "皖A2222", 200, "5系");
a[2] = new Car("奥迪", "皖A3333", 150, "A4");
a[3] = new Car("奥迪", "皖A4444", 260, "A6");
a[4] = new Bus("宇通", "皖B6666", 400, 16);
a[5] = new Bus("宇通", "皖B7777", 600, 32);
a[6] = new Bus("金龙", "皖B8888", 500, 16);
a[7] = new Bus("金龙", "皖B9999", 800, 32);
public class Car extends Vehice
public Car(String brand, String licenseNo,int perRent,String type) {
super(brand, licenseNo,perRent);
this.type = type;
}
public class Bus extends Vehice
public Bus(String brand, String licenseNo, int perRent,int seatCount) {
super(brand, licenseNo, perRent);
this.seatCount=seatCount;
}
集合存储的都是对象,不可以存储基本数据类型,而且对象的类型可以不一致!
2.集合框架
集合的框架如下所示,需要注意的点有:
(1).TreeSet 与HashSet是无序的,既存和取的元素的顺序有可能不一致,但是 LinkedHashSet 是有序的;
(2)要注意,在顶层,不是借口就是抽象类,无法创建对象使用,需要底层的子类创建对象使用,但是可以声明此类型或者接口的变量来指向子类的对象。
Collection接口,List和Set也是接口
3.Collection 集合常用功能
Collection 是所有单列表的父接口,因此在Collection中定义了单列集合(List 和Set)通用的一些方法,这些方法可用于操作所有的单列集合,方法如下:
public boolean add(E e):给集合中增加当前给定的对象,例如:
NewsTitle title1 = new NewsTitle(1, "腾讯", "wts");
NewsTitle title2 = new NewsTitle(1, "阿里", "wts");
LinkedList list =new LinkedList();
list.add(title1);
list.add(title2);
list.add(title3);
list.add(title4);
public viod clear();清空集合中的所有元素。
public boolean remove(E e):把给定的对象在当前集合中移除
public boolean contains(E e);判断当前集合是否包含给定的对象
public boolean isEmpty();判断当前集合是否为空;
public int size();返回集合中元素个数;
System.out.println("总共"+list.size()+"条新闻!");
public Object[] toArray(); 把集合转化成数组;