集合的简介
- Java中的集合框架是指一系列存储数据的接口和类,这些类和接口都位于java.util包中
- 类集实际上就是一个动态的对象数组,与一般的对象数组不同,类集中的对象内容可以任意扩充。
来创建以一个对象数组:
package com.sram.entity; public class Person { private String name; private Integer age; private String sex; public Person(String name, Integer age, String sex) { this.name = name; this.age = age; this.sex = sex; } public Person() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", sex=" + sex + "]"; } }
|
public static void main(String[] args) { Person per1=new Person("张三", 23, "男"); Person per2=new Person("李四", 31, "女"); Person per3=new Person("王五", 22, "男"); Person per4=new Person("赵六", 27, "女"); //对象数组 Person[] pers=new Person[3]; pers[0]=per1; pers[1]=per2; pers[2]=per3; pers[3]=per4; } |
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at com.sram.test.MyTest.main(MyTest.java:14) |
一个数组如果指定数据类型是一个类的话,那么此数组就称为对象数组。
数组和集合类同是容器,有何不同?(面试经常问)
数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。
集合的组成
ollection集合
集合接口中最大的父接口是Collection接口,此接口下有两个子接口List接口,Set接口。
Collection接口分为list接口 set接口 list接口分为ArrayList接口 LinkedList接口 set接口分为HashSet接口 TreeSet接口
Collection接口中的常用的方法:
返回类型 | 方法名称 | 描述 |
boolean | add(Object o) | 在集合末尾添加元素 |
int | size() | 返回集合列表中元素个数 |
boolean | removeAll(Collection col) | 删除集合中的所有元素 |
boolean | contains(Object o) | 判断集合中是否存在指定的元素 |
boolean | remove(Object o) | 从集合中删除元素 |
void | clear() | 清除集合中的所有元素 |
Iterator | iterator() | 为Iterator接口实列化 |
List集合 | sort() | 集合中的排序 |
无论什么时候集合中存放的数据永远是对象Collection接口是最大的父接口,所以此接口中的方法可以被子类直接调用。