1. 对象数组
对象数组就是把一组相同类型的引用类型的数据存进数组中。
package com.westos.demo;
public class Test1 {
public static void main(String[] args) {
Student s1 = new Student("张三", 20);
Student s2 = new Student("李四",21);
Student[] students = {s1,s2};
for (int i = 0; i < students.length; i++) {
System.out.println(students[i].getName()+"=="+students[i].getAge());
}
}
}
执行结果:
2. 集合框架
(1)集合类的存在是为了方便对多个对象进行操作。
(2)集合和数组的区别:
● 长度区别:数组的长度是固定的,创建之后就不能再改变;集合的长度是可变的。
● 存储的数据区别:数组既可以存储基本数据类型,也可以存储引用数据类型;而集合只能存储引用数据类型。
● 数组只能存储相同数据类型的数据,而集合可以存储不同数据类型的数据。
(3)常用的集合继承图
3. Collection集合的功能
(1)添加功能
● public boolean add(Object obj): 为集合添加一个元素
● public boolean addAll(Collection c):为集合添加另一个集合中的所有元素。
(2)删除功能
● public void clear():删除集合中所有的元素。
● public boolean remove(Object obj):删除集合中的obj元素。
● public boolean removeAll(Collection c):删除一个集合的元素,删除的元素是这两个集合的交集元素。如果没有交集元素,就返回false。
(3)判断功能
● public boolean contains(Object o):判断集合中是否包含指定的元素o。
● public boolean containsAll(Collection c):判断集合中是否包含指定集合的所有元素。
● public boolean isEmpty():判断集合是否为空。
(4)获取功能
● Iterator iterator():返回在此 collection 的元素上进行迭代的迭代器。关于元素返回的顺序没有任何保证(除非此 collection 是某个能提供保证顺序的类实例)。
(5)添加功能
● public Object[] toArray() : 返回包含此 collection 中所有元素的数组 。
代码演示:
package com.wetsos.demo01;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("zhao");
list.add("zhang");
list.add("wang");
list.add("qwer");
list.add("qwerdnf");
Collection<String> list1 = new ArrayList<>();
list1.add("jinmin");
((ArrayList<String>) list).addAll(list1);
System.out.println(list);
list.remove("zhao");
System.out.println(list);
list.removeAll(list1);
System.out.println(list);
boolean b = list.contains("zhang");
System.out.println(b);
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
Object[] toArray = list.toArray();
System.out.println(Arrays.toString(toArray));
}
}
执行结果:
4. List集合
(1)List集合的特点:集合中的元素有序,都存在一个索引,元素可以重复。
(2)List集合特有的功能:
● public void add(int index,E element):在指定的索引处添加元素。
● public E remove(int index):返回一个指定索引处删除的元素。
● public E get(int index):获取指定索引处的元素。
● public E set(int index,E element):更改指定索引处的元素,返回被替换的元素。
代码演示:
package com.wetsos.demo01;
import java.util.ArrayList;
import java.util.List;
public class ListDemo01 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
System.out.println(list);
Integer set = list.set(5, 10);
System.out.println(set);
System.out.println(list);
list.add(1,20);
System.out.println(list);
}
}
执行结果:
5. 遍历一个集合的几种方式
package com.wetsos.demo01;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
//方式一:一般的for循环
for (int i = 0; i < list.size(); i++) {
Integer integer = list.get(i);
if (i == list.size()-1){
System.out.println(integer);
}else{
System.out.print(integer+" ");
}
}
//方式二:迭代器获取集合的元素
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
Integer next = iterator.next();
System.out.println(next);
}
//方式三:增强for
for (Integer integer : list) {
System.out.println(integer);
}
}
}