类集(Collection)就是一个动态的对象数组。Java的类集框架使程序处理对象组的方法标准化。在Java 2出现之前,Java提供了一些专门的类如Dictionary、Vector、Stack和Properties去存储和操作对象组。尽管这些类非常有用,它们却缺少一个集中,统一的主题。因此例如说使用Vector的方法就会与使用Properties的方法不同。以前的专门的方法也没有被设计成易于扩展和能适应新的环境的形式。而类集解决了这些(以及其他的一些)问题。
Collection接口 Collection是单值保存的最大父接口。所谓的单值保存指的是每次都向集合里面保存单个对象。
Collection接口定义:
<span style="font-size:24px;"><span style="white-space: pre;"> </span>public interface Collection<E> extends Iterable<E></span>
Collection接口子接口List(允许重复):
List本身还是属于接口,取得接口的实例化对象,可以使用两个子类:Arraylist、Vector。
Arraylist:添加数据
import java.util.ArrayList;
import java.util.List;
public class Test{
public static void main(String[] args) {
List<String> all = new ArrayList<String>();
all.add("数据A");
all.add("数据C");
all.add("数据A");
all.add("数据D");
all.add("数据F");
all.add("数据E");
System.out.println("长度:"+all.size()+"是否为空:"+all.isEmpty());
System.out.println(all);<span style="white-space:pre"> </span>//输出对象调用toString()
}
Collection接口子接口Set(不允许重复):
import java.util.HashSet;
import java.util.Set;
public class Test{
public static void main(String[] args) throws Exception {
Set<String> all = new HashSet<String>();
all.add("数据A") ;
all.add("数据A") ; // 重复数据,无法保存
all.add("数据B") ;
all.add("数据C") ;
all.add("数据D") ;
System.out.println(all);
}
}
集合输出
Iterator 迭代输出
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
List<String> all = new ArrayList<String>();
all.add("数据A");
all.add("数据B");
all.add("数据C");
all.add("数据D");
Iterator<String> iter = all.iterator(); // 为Iterator接口实例化
while(iter.hasNext()) { // 指针向下移动,同时判断是否有数据
String str = iter.next() ;
System.out.println(str);
}
}
}