摘要:通常使用矢代器来实现遍历集合。将集合中指定索引位置的对象改成指定的对象。三元运算如果否则集合没有继承接口,它是提供到的映射,来决定遍历对象的顺序。
1.Collection接口是层次结构中的跟接口。Collection接口通常不能直接使用,但该接口提供了添加元素,删除元素,管理数据的方法。
Collection通常使用矢代器(Iterator)来实现遍历集合。
代码:
import java.util.*;
public class Muster { // 创建类Muster
public static void main(String args[]) {
Collection list = new ArrayList<>(); // 实例化集合类对象
list.add("a"); // 向集合添加数据
list.add("b");
list.add("c");
int Size = list.size();//返回int类型,获取该集合中元素的个数
Iterator it = list.iterator(); // 创建迭代器
while (it.hasNext()) { // 判断是否有下一个元素
String str = (String) it.next(); // 获取集合中元素
System.out.println(str);
}
System.out.println(Size);
}
}
结果:
2.List集合:
List集合中的元素应许重复,各元素的顺序就是对象插入的顺序。
LIst接口继承了Collection接口,此外还定义了两个非常重要的方法:
get(int index): 获取指定索引位置的元素。
set(int index,Object obj) : 将集合中指定索引位置的对象改成指定的对象。
List接口的常用实现类有ArrayList 与 LinkedList。
a、ArrayList优点:随机访问速度快,缺点:删除或插入对象的速度慢。
b、LinkedList 正好相反。
代码:
import java.util.*;
public class Gather { // 创建类Gather
public static void main(String[] args) { // 主方法
List list = new ArrayList<>(); // 创建集合对象
list.add("a"); // 向集合添加元素
list.add("b");
list.add("c");
int i = (int) (Math.random() * (list.size() - 1)); // 获得0~1之间的随机数
System.out.println("随机获取数组中的元素:" + list.get(i));
list.remove(2); // 将指定索引位置的元素从集合中移除
System.out.println("将索引是"2"的元素从数组移除后,数组中的元素是:");
for (int j = 0; j < list.size(); j++) { // 循环遍历集合
System.out.println(list.get(j));
}
System.out.println("最终集合中元素的个数:"+list.size());
//用矢代器遍历集合
Iteratorit = list.iterator();
while(it.hasNext()){
String str = (String)it.next();
System.out.println(str);
}
}
}
结果:
3.Set集合
Set集合不按特定的顺序排序,只是简单把对象加入到集合中,但不能包含重复对象。
Set接口常用的实现类有HashSet类与Tree类。Set继承了Comparable 接口。这个接口可参考JAVA API文档
a、HashSet类有哈希表,遍历的对象随机
b、TreeSet类遍历数组不仅可以按照自然顺序排序,还可以按照指定顺序排序。
代码:
import java.util.*;
public class UpdateStu implements Comparable