容器在开发中非常重要,其实学习容器最直接的资料还是官方的API,里面方法的使用已经解释的相当详细了。从中抽取一些比较常见的方法做一下详说明。
/*
* Collection
* 1. List 元素有序,元素可以重复,该集合有索引
* 2. Set 元素是无序,元素不可以重复
*
*/
/*
* List
* 凡是可以操作序列的都是该体系特有的方法
* 增
* add(int index, E element)
* addAll(int index, Collection<? extends E> c)
* 删
* remove(int index)
* 改
* set(int index, element)
* 查
* get(int index)
* subList(int from, int to) 左闭右开
*
*/
public class ListDemo {
public static void print(Object obj) {
System.out.println(obj);
}
public static void main(String[] args) {
ArrayList<String> a1 = new ArrayList<String>();
ArrayList<String> a2 = new ArrayList<String>();
// 添加元素
a1.add("java1");
a1.add("java2");
a1.add("java3");
a1.add("java4");
//移除某个元素
a1.remove(1);
// 改变某个元素
a1.set(1, "zhengyan");
// 获取某个元素
print(a1.get(0));
System.out.println("----------------------");
// 所有的容器都可以使用FOR循环来遍历
for (String s : a1) {
System.out.println(s);
}
System.out.println("----------------------");
a2.add("hello_world");
// 添加所有的元素
a2.addAll(a1);
for (String s : a2) {
System.out.println(s);
}
System.out.println("----------------------");
// 将保留a2中所有和a1一样的元素
a2.retainAll(a1);
// toArray()返回一个数组
// toArray(new Object[0]) 作为toArray()的参数
String[] strs = a2.toArray(new String[0]);
// System.out.println("a2.retainAll(a1);");
for (String s : strs) {
System.out.println(s);
}
// 将A2中所有和a1相同的元素移除
a2.removeAll(a1);
System.out.println("a2.removeAll(a1);");
for (String s : a2) {
System.out.println(s);
}
// 清楚a1 a2中所有元素
a1.clear();
a2.clear();
}
}