一、集合
1.数据与集合
数组弊端:
1)只能插入相同类型的元素(基本数据类型和引用数据类型都能保存)
2)长度一旦确定就不能改变,要添加超出数组长度个数的元素,比较复杂
2.创建集合类的原因
数组操作数据的弊端
用来代替数组使用
3. 集合特点:
1)能添加不同类型的元素
2)长度可变
注意:集合中只能添加引用数据类型(对象类型)
二、集合中的方法
package com.lanou3g.collection;
import java.util.ArrayList;
import java.util.Collection;
import com.lanou3g.bean.Student;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo02 {
public static void main(String[] args) {
}
/**
*
*/
public static void fun8() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
Collection c2 = new ArrayList();
c2.add("x");
c2.add("y");
c2.add("z");
boolean isRetainAll = c1.retainAll(c2);
System.out.println(c1);
System.out.println(c2);
System.out.println(isRetainAll);
}
/**
*
*/
public static void fun7() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
Collection c2 = new ArrayList();
c2.add("x");
c2.add("y");
c2.add("z");
boolean isRemoveAll = c1.removeAll(c2);
System.out.println(c1+"--c1");
System.out.println(c2+"--c2");
System.out.println(isRemoveAll);
}
/**
*
*/
public static void fun5() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
Collection c2 = new ArrayList();
c2.add("t");
c2.add("r");
c2.add("w");
boolean isAddAll = c1.addAll(c2);
System.out.println(c1+"---c1");
System.out.println(c2+"---c2");
System.out.println(isAddAll);
}
/**
* 错误的强转方式
*/
public static void fun4() {
Collection collection = new ArrayList();
collection.add(new Student("冯", 14));
collection.add(new Student("小小",31));
collection.add(new Student("菜菜", 12));
Student [] array = (Student[])collection.toArray();
for (int i = 0; i < array.length; i++) {
System.out.println(array[i].getName());
}
}
/**
*
*/
public static void fun3() {
Collection collection = new ArrayList();
collection.add(new Student("冯", 14));
collection.add(new Student("小小",31));
collection.add(new Student("菜菜", 12));
Object[] array = collection.toArray();
for (int i = 0; i < array.length; i++) {
Student student = (Student)array[i];
System.out.println(student.getName());
}
}
/**
* @param collection
*/
public static void fun2(Collection collection) {
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");
Object [] array = collection.toArray();
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
/**
* 集合的基本方法
*/
public static void fun1() {
Collection collection = new ArrayList();
boolean b = collection.add("a");
boolean b1 =collection.add("b");
boolean b2 = collection.add("c");
boolean b3 = collection.add(1);
boolean b4 = collection.add(true);
System.out.println(b);
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
System.out.println(collection.size());
boolean b7 = collection.contains("aa");
System.out.println(b7);
boolean b8 = collection.remove("b");
System.out.println(b8);
System.out.println(collection);
boolean b9 = collection.isEmpty();
System.out.println(b9);
collection.clear();
System.out.println(collection);
}
}
三、迭代器
package com.lanou3g.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import com.lanou3g.bean.Student;
@SuppressWarnings({ "rawtypes","unchecked" ,"unused" })
public class Demo03 {
public static void main(String[] args) {
Collection collection = new ArrayList();
collection.add(new Student("小小", 11));
collection.add(new Student("芳芳", 11));
collection.add(new Student("海海", 11));
Iterator iterator = collection.iterator();
while(iterator.hasNext()) {
Object next = iterator.next();
Student student = (Student)next;
System.out.println(student.getName());
}
}
/**
* 遍历集合
*/
public static void fun2() {
Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");
collection.add("e");
Iterator iterator = collection.iterator();
while(iterator.hasNext()) {
Object next = iterator.next();
System.out.println(iterator.next());
}
}
/**
*
*/
public static void fun1() {
Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");
Iterator iterator = collection.iterator();
boolean isHasNext = iterator.hasNext();
System.out.println(isHasNext);
Object next = iterator.next();
System.out.println(next);
}
}