集合类
集合类体系结构图:
集合是一个容器,是用来存储和获取数据的.
集合类的特点:长度可变。
数组,StringBuilder长度固定
collection集合
package com.company;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/** collection:是单列集合的顶层接口。
* JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。
* 创建Collection集合的对象,我们采用的是多态的方式,使用的是具体的ArrayList类。
* 因为这个类是最常用的集合类。
* ArrayList()
*
Collection<E>:
* <E>:是一种特殊的数据类型,泛型。这里我们会使用就可以了。
* 如何使用呢?
* 在出现E的地方用引用数据类型替换即可。
* 举例:Collection<String>,Collection<Student>
*/
public class Main {
public static void main(String[] args) {
//创建Collection集合对象
//JDK7的新特性,看懂就可以
//Collection<String> c = new ArrayList<>(); //多态的方式
Collection<String> c = new ArrayList<String>(); //多态的方式
//boolean add(E e):添加元素
c.add("hello");
c.add("world");
c.add("java");
//输出集合对象
System.out.println(c);
//输出了集合中的元素按照指定格式拼接的内容,说明ArrayList重写了toString()方法
/**
* Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器。
* 通过集合对象调用iterator()方法得到迭代器对象。
* Iterator:
* E next():返回迭代的下一个元素。
* boolean hasNext():如果仍有元素可以迭代,则返回 true。
*/
Iterator<String> it = c.iterator();//返回的是迭代器接口的实现类的对象
/* System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next());*/
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
}
集合步骤使用图解:
练习:
package com.company;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/**
* Collection集合存储自定义对象并遍历
* 提示:自定义一个学生类,给出成员变量name和age。遍历集合的时候,在控制台输出学生对象的成员变量值。
*
* 集合的使用步骤:
* A:创建集合对象
* B:创建元素对象
* C:把元素添加到集合
* D:遍历集合
*/
public class Main {
public static void main(String[] args) {
//创建集合对象
Collection<Student> c = new ArrayList<Student>();
//创建元素对象
Student s1 = new Student("林青霞",30);
Student s2 = new Student("张曼玉",35);
Student s3 = new Student("王祖贤",33);
//把元素添加到集合
c.add(s1);
c.add(s2);
c.add(s3);
//遍历集合
Iterator<Student> it = c.iterator();
while(it.hasNext()){
Student s = it.next();
System.out.println(s.getName()+"---"+s.getAge());
}
}
}
List集合
package com.company;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* List:有序的 collection(也称为序列)。
* 此接口的用户可以对列表中每个元素的插入位置进行精确地控制。
* 用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
* 与 set 不同,列表通常允许重复的元素。
*
* List集合的特点:
* A:有序(存储和取出元素的顺序一致)
* B:存储的元素可以重复
*/
public class Main {
public static void main(String[] args) {
//创建几何对象
List<String> list = new ArrayList<String>();
//存储元素
list.add("hellow");
list.add("world");
list.add("java");
//遍历集合
Iterator<String> it = list.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
}
package com.company;
import java.util.ArrayList;
import java.util.Iterator;
import java