集合:集合是java中提供的一种容器,可以用来存储多个数据
集合和数组的区别:
1.数组的长度是固定的,集合的长度是可变的
2.集合中存储的元素必须是引用类型数据
对ArrayList集合的回顾
示例:
package demo; public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } public Person() { } public Person(String name, int age) { super(); this.name = name; this.age = age; } }
package demo; import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { // ArrayList复习 // 存储基本数据 ArrayList<Integer> array = new ArrayList<>(); array.add(1);// 自动装箱 array.add(2); array.add(3); array.add(4); array.add(5); for (int i = 0; i < array.size(); i++) { System.out.println(array.get(i)); } // 存储自定义类Person对象 ArrayList<Person> arrayPerson = new ArrayList<Person>(); arrayPerson.add(new Person("a", 20)); arrayPerson.add(new Person("b", 18)); arrayPerson.add(new Person("c", 19)); for (int i = 0; i < arrayPerson.size(); i++) { System.out.println(arrayPerson.get(i)); //调用类重写的toString方法 } } } /*输出: 2 3 4 5 Person [name=a, age=20] Person [name=b, age=18] Person [name=c, age=19] */
Collection接口是集合的根接口,研究它的方法应当通过它的实现类,
List继承了Collection,ArrayList实现了List接口,可以通过ArrayList研究Collection的部分方法:
示例:
package demo; import java.util.ArrayList; import java.util.Collection; public class CollectionDemo { public static void main(String[] args) { function1(); function2(); function3(); } public static void function1() { // 利用多态的特性 Collection<String> c1 = new ArrayList<String>(); // 存入元素,有序集合 c1.add("abc"); c1.add("def"); boolean b1 = c1.contains("abc"); System.out.println(b1);// true,集合中是否包含这个元素 c1.size();// 集合的大小,存入元素个数 c1.clear();// 清空集合中的元素,集合本身存在 } public static void function2() { // 得到一个存储对象的数组 Collection<String> c1 = new ArrayList<String>(); c1.add("abc"); c1.add("def"); c1.add("ghi"); Object[] obj1 = c1.toArray(); for (int i = 0; i < obj1.length; i++) { System.out.println(obj1[i]); } } public static void function3() { // 删除元素 Collection<String> c1 = new ArrayList<String>(); c1.add("abc"); c1.add("def"); c1.add("ghi"); boolean b1 = c1.remove("abc"); System.out.println(b1);// true // 是否删除成功,如果元素不存在,则删除失败 System.out.println(c1);// [def, ghi] // 如果有重复元素的话,就删除第一个 } }