【ThinkingInJava】49、List的各种功能方法

来源:互联网 发布:天猫魔盒看电视剧软件 编辑:程序博客网 时间:2024/06/05 16:02
/*** 书本:《Thinking In Java》* 功能:List的各种功能方法* 文件:Lists.java* 时间:2015年5月1日18:19:02* 作者:cutter_point*/package Lesson17Containers;import static net.mindview.util.Print.*;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.ListIterator;import net.mindview.util.Countries;public class Lists{private static boolean b;private static String s;private static int i;private static Iterator<String> it;private static ListIterator<String> lit;//如果要查看比较的结果的话,我们加一段输出语句就可以得到结果了public static void basicTest(List<String> a){//在第一个位置加上一个元素,然后在最后加上一个元素a.add(1, "x");a.add("x");//加上25个国家名字a.addAll(3, Countries.names(25));//看a是否包含1b = a.contains("1");b = a.containsAll(Countries.names(25));//是否包含了25个国家名s = a.get(1);//得到位置1的数据元素i = a.indexOf("1");//返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。b = a.isEmpty();//a是空的吗?it = a.iterator();//返回按适当顺序在列表的元素上进行迭代的迭代器。lit = a.listIterator();//返回此列表元素的列表迭代器(按适当顺序)。lit = a.listIterator(3);//从第3位开始的迭代器i = a.lastIndexOf("1");//返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。a.remove(1);//移除位置为1的那个元素a.remove("3");//移除元素“3”这个对象a.set(1, "y");//吧位置为1的元素改为ya.retainAll(Countries.names(25));//求交集a.removeAll(Countries.names(25));//移除这里面有的国家名i = a.size();//获取a的长度a.clear();//清空}public static void iterMotion(List<String> a){//这里有一篇文章可以看看http://www.linuxidc.com/Linux/2014-11/109950.htmListIterator<String> it = a.listIterator();b = it.hasNext();b = it.hasPrevious();s = it.next();i = it.nextIndex();s = it.previous();i = it.previousIndex();}public static void iterManipulation(List<String> a){ListIterator<String> it = a.listIterator();it.add("47");//将指定的元素插入列表(可选操作)。/*该元素直接插入到 next 返回的下一个元素的前面(如果有),或者 previous 返回的下一个元素之后(如果有); * 如果列表没有元素,那么新元素就成为列表中的唯一元素。新元素被插入到隐式光标前:不影响对 next 的后续调用, * 并且对 previous 的后续调用会返回此新元素(此调用把调用 nextIndex 或 previousIndex 所返回的值增加 1)。  */it.next();//返回列表中的下一个元素。it.remove();//从列表中移除由 next 或 previous 返回的最后一个元素(可选操作)。it.next();it.set("47");//用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。}public static void testVisual(List<String> a){print(a);List<String> b = Countries.names(25);print("b = " + b);a.addAll(b);//将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。a.addAll(b);print(a);ListIterator<String> x = a.listIterator(a.size()/2);//返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。/*该元素直接插入到 next 返回的下一个元素的前面(如果有),或者 previous 返回的下一个元素之后(如果有); * 如果列表没有元素,那么新元素就成为列表中的唯一元素。新元素被插入到隐式光标前:不影响对 next 的后续调用, * 并且对 previous 的后续调用会返回此新元素(此调用把调用 nextIndex 或 previousIndex 所返回的值增加 1)。  */x.add("one");print(a);print(x.next());//返回列表中的下一个元素。x.remove();//从列表中移除由 next 或 previous 返回的最后一个元素(可选操作)。print(x.next());x.set("47");//用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。print(a);x = a.listIterator(a.size());while(x.hasPrevious())//倒序遍历printnb(x.previous() + " ");print();print("testVisual finished");}public static void testLinkedList(){LinkedList<String> ll = new LinkedList<String>();ll.addAll(Countries.names(25));print(ll);ll.addFirst("one");//将指定元素插入此列表的开头。ll.addFirst("two");print(ll);print(ll.getFirst());//返回此列表的第一个元素。print(ll.removeFirst());//移除并返回此列表的第一个元素。print(ll.removeFirst());print(ll.removeLast());print(ll);}public static void main(String[] args){//List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList //类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。basicTest(new LinkedList<String>(Countries.names(25)));basicTest(new ArrayList<String>(Countries.names(25)));//比较这两种list有何不同print("---------------------------------------------------------------");iterMotion(new LinkedList<String>(Countries.names(25)));iterMotion(new ArrayList<String>(Countries.names(25)));//比较这两种list有何不同print("---------------------------------------------------------------");iterManipulation(new LinkedList<String>(Countries.names(25)));iterManipulation(new ArrayList<String>(Countries.names(25)));print("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------");testVisual(new LinkedList<String>(Countries.names(25)));print("---------------------------------------------------------------------------------------------------------------------------------------------------------------------------");testLinkedList();}}




输出:

---------------------------------------------------------------  obj1
---------------------------------------------------------------  obj1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
b = [ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, one, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
DJIBOUTI  obj1
EGYPT  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, one, 47, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
LESOTHO -obj2 KENYA -obj2 COTE D'IVOIR (IVORY COAST) -obj2 BISSAU -obj2 GUINEA -obj2 GHANA -obj2 THE GAMBIA -obj2 GABON -obj2 ETHIOPIA -obj2 ERITREA -obj2 EQUATORIAL GUINEA -obj2 EGYPT -obj2 DJIBOUTI -obj2 CONGO -obj2 COMOROS -obj2 CHAD -obj2 CENTRAL AFRICAN REPUBLIC -obj2 CAPE VERDE -obj2 CAMEROON -obj2 BURUNDI -obj2 BURKINA FASO -obj2 BOTSWANA -obj2 BENIN -obj2 ANGOLA -obj2 ALGERIA -obj2 LESOTHO -obj2 KENYA -obj2 COTE D'IVOIR (IVORY COAST) -obj2 BISSAU -obj2 GUINEA -obj2 GHANA -obj2 THE GAMBIA -obj2 GABON -obj2 ETHIOPIA -obj2 ERITREA -obj2 EQUATORIAL GUINEA -obj2 47 -obj2 one -obj2 CONGO -obj2 COMOROS -obj2 CHAD -obj2 CENTRAL AFRICAN REPUBLIC -obj2 CAPE VERDE -obj2 CAMEROON -obj2 BURUNDI -obj2 BURKINA FASO -obj2 BOTSWANA -obj2 BENIN -obj2 ANGOLA -obj2 ALGERIA -obj2 LESOTHO -obj2 KENYA -obj2 COTE D'IVOIR (IVORY COAST) -obj2 BISSAU -obj2 GUINEA -obj2 GHANA -obj2 THE GAMBIA -obj2 GABON -obj2 ETHIOPIA -obj2 ERITREA -obj2 EQUATORIAL GUINEA -obj2 EGYPT -obj2 DJIBOUTI -obj2 CONGO -obj2 COMOROS -obj2 CHAD -obj2 CENTRAL AFRICAN REPUBLIC -obj2 CAPE VERDE -obj2 CAMEROON -obj2 BURUNDI -obj2 BURKINA FASO -obj2 BOTSWANA -obj2 BENIN -obj2 ANGOLA -obj2 ALGERIA -obj2 
testVisual finished  obj1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
[two, one, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA, LESOTHO]  obj1
two  obj1
two  obj1
one  obj1
LESOTHO  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, CAMEROON, CAPE VERDE, CENTRAL AFRICAN REPUBLIC, CHAD, COMOROS, CONGO, DJIBOUTI, EGYPT, EQUATORIAL GUINEA, ERITREA, ETHIOPIA, GABON, THE GAMBIA, GHANA, GUINEA, BISSAU, COTE D'IVOIR (IVORY COAST), KENYA]  obj1



0 0
原创粉丝点击