集合Collection
##Collection接口测试
package cn.tedu.tree;
//依古·比古、唔西·迪西、玛卡·巴卡、汤姆布利柏家族的汤姆布利柏·安、汤姆布利柏·哦
//汤姆布利柏·咦、小点点、小豆豆、哈呼呼、飞飞鱼还有叮叮车
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
public class TestReviewCollection {
public static void main(String[] args) {
Collection<String> c = new ArrayList<>();//Collection是抽象类,所以创建对象需要用多态的形式
//添加方法
c.add("玛卡巴卡");
c.add("依古·比古");
c.add("唔西·迪西");
c.add("汤姆布利柏");
c.add("小点点");
c.add("小豆豆");
System.out.println(c);
// c.clear();//清空c
System.out.println(c.contains("玛卡巴卡") );//true,判断是否包含
System.out.println(c.equals("玛卡巴卡"));//false,判断是否相等
System.out.println(c.hashCode());//获取哈希码值
System.out.println(c.isEmpty());//false,判断是否为空
System.out.println(c.remove("小点点"));//移除
System.out.println(c.size());//判断c的长度
System.out.println(Arrays.toString(c.toArray()));//转换数组
Collection<String> c1 = new ArrayList<>();
//集合与集合之间
c1.add("1");
c1.add("12");
c1.add("15");
c1.add("14");
c1.add("154");
c1.add("145");
System.out.println(c.addAll(c1));//把c1全都加入c中
System.out.println(c);
System.out.println(c.containsAll(c1));//判断c中是否完全包括c1
// System.out.println(c.removeAll(c1));//从c中删除c1元素
System.out.println(c.retainAll(c1));//求c和c1的交集
System.out.println(c);
//迭代器
Iterator<String> iterator = c.iterator();
while (iterator.hasNext()){
String next = iterator.next();
System.out.println(next);
}
}
}
List
List是Collection的子类,继承Collection的方法,所以以下代码展示为list特有的方法:
package cn.tedu.tree;
import java.util.ArrayList;
import java.util.List;
public class TestReviewList {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("玛卡巴卡");
list.add("依古·比古");
list.add("唔西·迪西");
list.add("汤姆布利柏");
list.add("小点点");
list.add("小豆豆");
list.add("唔西·迪西");
System.out.println(list);
System.out.println(list.indexOf("小点点"));//输出下标
System.out.println(list.lastIndexOf("唔西·迪西"));//输出最后一次出现的下标
System.out.println(list.set(1,"哈了少"));//取出并替换所写下标元素
System.out.println(list);
System.out.println(list.subList(2,5));//截取,左闭右开
}
}
ArrayList:
package cn.tedu.pra;
//依古·比古、唔西·迪西、玛卡·巴卡、汤姆布利柏家族的汤姆布利柏·安、汤姆布利柏·哦、汤姆布利柏·咦、小点点、小豆豆、哈呼呼、飞飞鱼
import java.util.ArrayList;
//测试TestArrayList
public class TestArrayList {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("依古·比古");
arrayList.add("唔西·迪西");
arrayList.add("玛卡·巴卡");
arrayList.add("汤姆布利柏");
arrayList.add("汤姆布利柏·哦");
arrayList.add("小点点");
System.out.println(arrayList);
System.out.println(arrayList.indexOf("唔西·迪西"));//输出该元素的下标
System.out.println(arrayList.get(2));//输出该下标的元素
System.out.println(arrayList.remove(String.valueOf("汤姆布利柏")));//移除该元素
System.out.println(arrayList);
//改变下标为3的元素为巴啦啦能量
System.out.println(arrayList.set(3,"巴啦啦能量"));
}
}
LinkedList
package cn.tedu.pra;
//依古·比古、唔西·迪西、玛卡·巴卡、汤姆布利柏家族的汤姆布利柏·安、汤姆布利柏·哦、汤姆布利柏·咦、小点点、小豆豆、哈呼呼、飞飞鱼
import java.util.LinkedList;
//测试TestArrayList
public class TestArrayList {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("依古·比古");
list.add("唔西·迪西");
list.add("玛卡·巴卡");
list.add("汤姆布利柏·咦");
list.add("小点点");
list.addFirst("啦啦啦");//添加首位元素
list.addLast("阿里客服");//添加尾部元素
System.out.println(list);
System.out.println(list.getFirst());//得到首个元素
System.out.println(list.getLast());//得到最后一个元素
LinkedList<String> list2 = new LinkedList<>();
list2.add("按开机键");
list2.add("阿拉山口");
list2.add("奥科吉十多年");
list2.add("达会计师");
System.out.println(list2.element());//获取但不移除此列表的首元素(第一个元素)
/**别名:查询系列*/
System.out.println(list2.peek());//获取但不移除此列表的首元素(第一个元素)
System.out.println(list2.peekFirst());//获取但不移除此列表的首元素(第一个元素)
System.out.println(list2.peekLast());//获取但不移除此列表的尾元素(最后一个元素)
/**别名:新增系列*/
System.out.println(list2.offer("遮天"));//将指定元素添加到列表末尾
System.out.println(list2.offerFirst("斗罗大陆"));//将指定元素插入列表开头
System.out.println(list2.offerLast("斗破苍穹"));//将指定元素插入列表末尾
System.out.println(list2);
/**别名:移除系列*/
System.out.println(list2.poll());//获取并且移除此列表的首元素(第一个元素),成功移除,返回移除元素
System.out.println(list2.pollFirst());//获取并且移除此列表的首元素(第一个元素),成功移除,返回移除元素,如果此列表为空,则返回null
System.out.println(list2.pollLast());//获取并且移除此列表的尾元素(最后一个元素),成功移除,返回移除元素,如果此列表为空,则返回null
System.out.println(list2);
}
}
四种迭代方式:
package cn.tedu.tree;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class TestReviewFour {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("玛卡巴卡");
list.add("依古·比古");
list.add("唔西·迪西");
list.add("汤姆布利柏");
list.add("点点");
list.add("小豆豆");
list.add("唔西·迪西");
System.out.println(list);
//第一种迭代方式:for
for(int i=0;i<list.size();i++){
String s = list.get(i);
System.out.println(s);
}
System.out.println("************************");
//第二种迭代方法:高校for
for(String s :list){
System.out.println(s);
}
System.out.println("************************");
//第三种迭代方法:迭代器
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
String next = iterator.next();
System.out.println(next);
}
System.out.println("************************");
//第四种
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()){
String next = listIterator.next();
System.out.println(next);
}
}
}