集合
java的集合主要分为List列表、Set集合、map(映射)。
(1)List集合是一个有序的队列,每一个元素都有他的索引。第一个元素的索引值为0。
List的实现类有LinkedList、ArrayList、Vector、Stack。
List列表
public class Dome3 implements Comparator<String> {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add(1, "baba");
System.out.println(list);
System.out.println(list.get(2));
System.out.println(list.indexOf("baba"));
list.set(1, "mama");
System.out.println(list);
list.sort(new Dome3());
System.out.println(list);
}
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
Arraylist实现的三种遍历:for循环、增强for循环、Iterator迭代器
import java.util.ArrayList;
import java.util.Iterator;
public class ArraylistDome1 {
public static void main(String[] args) {
ArrayList list = new ArrayList(5);
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
System.out.println("数组列表大小:"+list.size());
list.add("a");
list.add("a");
System.out.println("数组列表大小:"+list.size());
//for循环
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
if(list.get(i).equals("a")){
list.remove("a");
}
//由运行结果可知,只删掉了第一个a;
// 因为存储这些元素的数据结构为数组集合
// ,每删掉一个元素,集合的长度就减一,
// 后面每个元素的位置就往前移一个位置,
// 相当于跳过了要删除的元素的下一个位置
//要想删掉集合中指定元素的所有元素,
// 可以在删除判断语句中结束里面加一个i--.
}
System.out.println();
System.out.print(list);
System.out.println();
//增强for循环
ArrayList list1 = new ArrayList(5);
list1.add("a");
list1.add("b");
list1.add("c");
list1.add("d");
list1.add("e");
list1.add("a");
System.out.println(list1);
for (Object obj:list1) {
if(obj.equals("a")){
list1.remove(obj);
break;
}
//增强for循环,不可以对循环内的元素进行操作,
// 如果要进行操作,必须要在对应的操作后面加上break;结束循环
}
System.out.print(list1);
System.out.println();
//Iterator迭代器
ArrayList list2 = new ArrayList(5);
list2.add("a");
list2.add("b");
list2.add("c");
list2.add("d");
list2.add("e");
list2.add("a");
Iterator iterator = list2.iterator();
while (iterator.hasNext()){
Object a = iterator.hasNext();
if(a.equals("a")){
iterator.remove();
}
}
System.out.print(list2);
}
}
Set集合
(2)(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。
对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。
集也有多种变体,可以实现排序等功能,如TreeSet,它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序列中。它实现的是SortedSet接口,也就是加入了对象比较的方法。通过对集中的对象迭代,我们可以得到一个升序的对象集合。