黑马程序员_Collection和List的一些方法测试
------- android培训、java培训、期待与您交流! ----------
collection的一些方法:
package cn.itcast.a_collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
public class CollectionTest {
public static void main(String[] args) {
// test1();
// testAdd();
// 1. 创建Collection集合
Collection coll = new ArrayList();
coll.add("jack");
coll.add("rose");
coll.add("lucy");
// 2. 再次创建一个新的集合
Collection coll2 = new ArrayList();
coll2.add("李磊");
coll2.add("韩梅");
coll2.add("小张");
coll2.add("小强");
// addAll(Collection c) 批量增加, 将一个集合c 中的所有元素,添加到指定集合中.
System.out.println(coll.addAll(coll2));
System.out.println(coll);
// clear 清空集合.
// coll.clear();
// System.out.println(coll);
// remove(Object obj) 删除指定的对象.
System.out.println(coll.remove("小强"));
System.out.println(coll);
// removeAll(Collection coll) 批量删除, 删除指定集合中和coll集合中相同的元素...
System.out.println(coll.removeAll(coll2));
System.out.println(coll);
// size() 返回一个int 值, 返回集合中元素的个数.
System.out.println(coll.size());
// isEmpty() 返回布尔值, 检测集合是否为空,(没有一个元素)
System.out.println(coll.isEmpty());
// contains(Object obj) 检测集合中是否包含obj . 返回布尔值.
System.out.println(coll.contains("jack"));
System.out.println(coll.contains("张三"));
System.out.println(coll);
coll.addAll(coll2);
// containsAll 检测指定的集合中是否包含coll2 中的所有元素. 返回布尔值
System.out.println(coll.containsAll(coll2));
// retainAll(Collection coll),取交集. 紧紧保留指定集合中和coll 集合中相同的元素... 其余的删除.
System.out.println(coll);
System.out.println(coll2);
System.out.println(coll.retainAll(coll2));
System.out.println(coll);
// toArray, 将集合转数组. 可以用数组的思想操作集合...
Object[] arr = coll.toArray();
System.out.println(Arrays.toString(arr));
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
/**
* 集合的add方法.
*
*/
public static void testAdd() {
// 1. 创建Collection集合
Collection coll = new HashSet();
// 2. 方法 add 如果成功的改变集合(添加成功),返回true .
System.out.println(coll.add("jack"));
// 由于HashSet 集合不允许存储重复元素, 添加重复元素时,返回false . 重复元素添加失败.
System.out.println(coll.add("jack"));
System.out.println(coll);
}
public static void test1() {
// 1. 创建Collection集合
Collection coll = new ArrayList();
// 2. 测试方法.
// 验证一: 集合可以存储任意类型的元素.
coll.add("jack");
coll.add(100);
coll.add(true);
coll.add(new CollectionTest());
System.out.println(coll);
// 验证二: 可以存储任意多个元素.
for (int i = 0; i < 10000; i++) {
coll.add(i);
}
System.out.println(coll);
}
}
List的方法:
package cn.itcast.b_list;
import java.util.ArrayList;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
// testList();
// 1. 创建了一个List 集合
List list = new ArrayList();
list.add("刘备");
list.add("关羽");
list.add("张飞");
System.out.println(list);
// add(int index,Object obj)方法 将新的元素添加到集合的指定位置.
list.add(1, "诸葛亮");
System.out.println(list);
// addAll(int index,Collection coll) 将集合coll 添加到指定的集合的指定位置.
List list1 = new ArrayList();
list1.add("赵云");
list1.add("马超");
list1.add("黄忠");
System.out.println(list1);
list.addAll(2, list1);
System.out.println(list);
// remove(int index); 删除指定位置的元素. 并返回被删除的元素.
System.out.println(list.remove(list.indexOf("关羽")));
System.out.println(list);
// remove 删除了集合最后一个元素..
System.out.println(list.remove(list.size() - 1));
System.out.println(list);
// get(int index) 获取集合中指定位置的元素.
System.out.println(list.get(0));
// get 方法如果角标不存在,直接抛出异常.
// System.out.println(list.get(100));
// indexOf(Object obj); 查找指定元素在集合中的角标(位置)
System.out.println(list.indexOf("诸葛亮"));
// 如果找不到该元素返回-1.
System.out.println(list.indexOf("小乔"));
// set(int index,Object obj) 方法. 修改指定位置的元素, 新元素覆盖旧元素,该方法会返回旧元素.
System.out.println(list.set(0, "刘禅"));
System.out.println(list);
// subList(int start,int end) 将指定的指定开始和结束位置的元素截取出. 返回一个子集合...
List subList = list.subList(1, list.size());
System.out.println(subList);
}
public static void testList() {
// 1. 创建了一个List 集合
List list = new ArrayList();
// 2 .元素在集合中有顺序.
list.add("jack");
list.add("rose");
list.add("lucy");
list.add("tom");
list.add("jerry");
// 3. List 集合是有角标的. 每一个元素在List 集合中都是编号的.
System.out.println(list);
System.out.println(list.get(0));
// 4. List 集合允许重复的元素.
list.add("jack");
System.out.println(list);
}
}
package cn.itcast.d_linkedlist;
import java.util.LinkedList;
public class LinkedListTest1 {
public static void main(String[] args) {
// test1();
// test2();
// test3();
LinkedList link = new LinkedList();
// 排队.
link.offer("jack");
link.offer("rose");
link.offer("lucy");
// 出队.
System.out.println(link.poll());
System.out.println(link.poll());
System.out.println(link.poll());
System.out.println(link);
link.clear();
link.add("jack");
link.add("rose");
link.add("lucy");
System.out.println(link);
System.out.println(link.removeFirst());
System.out.println(link.removeFirst());
System.out.println(link.removeFirst());
}
public static void test3() {
LinkedList link = new LinkedList();
// 压栈. push
link.push("001");
link.push("002");
link.push("003");
System.out.println(link);
// 弹栈 pop
System.out.println(link.pop());
System.out.println(link.pop());
System.out.println(link.pop());
System.out.println(link);
}
public static void test2() {
LinkedList link = new LinkedList();
link.addFirst("001");
link.addFirst("002");
link.addFirst("003");
System.out.println(link);
System.out.println(link.removeFirst());
System.out.println(link.removeFirst());
System.out.println(link.removeFirst());
System.out.println(link);
}
public static void test1() {
LinkedList link = new LinkedList();
// addFirse 将元素添加到集合头部.
link.addFirst("001");
link.addFirst("002");
link.addFirst("003");
System.out.println(link);
link.clear();
// addLast 将元素添加集合的末尾.
link.addLast("jack");
link.addLast("rose");
link.addLast("lucy");
System.out.println(link);
// getFirst getLast 获取集合的第一个和最后一个元素...
System.out.println(link.getFirst());
System.out.println(link.get(0));
System.out.println(link.getLast());
System.out.println(link.get(link.size() - 1));
// removeFirst removeLast 删除集合的头和尾.
System.out.println(link.removeFirst());
System.out.println(link);
System.out.println(link.removeLast());
System.out.println(link);
}
}