国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java從零開始學二十一(集合List接口)

2019-11-14 23:04:12
字體:
來源:轉載
供稿:網友
java從零開始學二十一(集合List接口)一、List接口List是Collection的子接口,里面可以保存各個重復的內容,此接口的定義如下:public interface List<E> extends Collection<E>二、List接口的擴展方法
No.方法類型描述
1public void add(int index, E element)普通在指定位置增加元素
2public boolean addAll(int index, Collection<? extends E> c)普通在指定位置增加一組元素
3E get(int index)普通返回指定位置的元素
4public int indexOf(Object o)普通查找指定元素的位置
5public int lastIndexOf(Object o)普通從后向前查找指定元素的位置
6public ListIterator<E> listIterator()普通為ListIterator接口實例化
7public E remove(int index)普通按指定的位置刪除元素
8public List<E> subList(int fromIndex, int toIndex)普通取出集合中的子集合
9public E set(int index, E element)普通替換指定位置的元素
三、List接口的常用子類 —— ArrayList和LinkedListArrayList實現了長度可變的數組,在內存中分配連接的空間,遍歷和隨機訪問元素的效率比較高LinkedList采用鏈表存儲方式。在插入、刪除元素時效率比較高四、ArrayList例子
package com.pb.demo1;public class Person {   PRivate String name;   private int age;   public Person() {}public Person(String name, int age) {    this.name = name;    this.age = age;}public String getName() {    return name;}public void setName(String name) {    this.name = name;}public int getAge() {    return age;}public void setAge(int age) {    this.age = age;}  }

package com.pb.demo1;import java.util.ArrayList;import java.util.List;public class PersonArrayListTest {    public static void main(String[] args) {        /*         * 創建多個Person對象并賦值         */         Person p1 = new Person("張三",21);         Person p2 = new Person("李四",22);         Person p3 = new Person("王五",23);         //創建ArrayList       List<Person> personlist=new ArrayList<Person>();              //為集合添加對象       personlist.add(p1);       personlist.add(p2);       personlist.add(p3);       //輸出集合的長度       System.out.println("集合長度:"+personlist.size());       //遍歷集合for循環       for(int i=0; i<personlist.size();i++){           System.out.println("姓名:"+personlist.get(i).getName()+"年齡:"+personlist.get(i).getAge());       }       //使用索引添加       Person p4 = new Person("趙六",24);       /*        * 使用索引添加時必須知道長度才可以正確增加,如果添加的索引大于最后一個下標+1,        * 編譯可以通過但運行時會報錯        * 例如:如查長度為3,下標是從0開始到2,這時使用索引添加值索引可以是(0~3)都可以,但是不能是4        */       personlist.add(0, p4);       //輸出集合的長度       System.out.println("集合長度:"+personlist.size());       ////遍歷集合forearch循環       for (Person p : personlist) {           System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());    }              //查找集合中是否有p4對象true代表有,false代表沒有       System.out.println("查找集合中是否有p4對象:"+personlist.contains(p4));       //p2元素所在的下標從前向后    System.out.println("p2元素所在的下標從前向后:"+ personlist.indexOf(p2));    //p2元素所在的下標從后向前    System.out.println("p2元素所在的下標從后向前:"+ personlist.lastIndexOf(p2));           }}
五、LinkedList例子

package com.pb.demo1;import java.util.LinkedList;import java.util.List;public class PersonLinkedListTest {    public static void main(String[] args) {        /*         * 創建多個Person對象并賦值         */         Person p1 = new Person("張三",21);         Person p2 = new Person("李四",22);         Person p3 = new Person("王五",23);         Person p4 = new Person("趙六",24);         Person p5 = new Person("錢七",25);                  //創建LinkedList         LinkedList<Person>plist=new LinkedList<Person>();         plist.add(p1);         plist.add(p2);         plist.add(p3);         //集合長度         System.out.println("集合長度"+plist.size());         //遍歷集合         for (Person p : plist) {             System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());        }        //在第一個和最后一個添加對象         plist.addFirst(p4);         plist.addLast(p5);         System.out.println("===========添加數據=================");         //集合長度         System.out.println("集合長度"+plist.size());         //遍歷集合         for (Person p : plist) {             System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());        }               //獲取指定下標的元素:下標要已經存在如果不存在運行后將報錯         System.out.println("獲取指定下標的元素:"+plist.get(4).getName());         System.out.println("===========按下標移除=================");         //移除元素remove,按下標移除         plist.remove(0);        //集合長度         System.out.println("集合長度"+plist.size());         //遍歷集合         for (Person p : plist) {             System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());        }         System.out.println("===========直接移除對象=================");         //移除元素remove 直接移除對象,         plist.remove(p2);        //集合長度         System.out.println("集合長度"+plist.size());         //遍歷集合         for (Person p : plist) {             System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());        }         System.out.println("===========移除第一個或者最后一個=================");         //移除元素移除第一個或者最后一個         plist.removeFirst();         plist.removeLast();        //集合長度         System.out.println("集合長度"+plist.size());         //遍歷集合         for (Person p : plist) {             System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());        }         System.out.println("===========移除全部=================");         //移除全部元素clear方法         plist.clear();        //集合長度         System.out.println("集合長度"+plist.size());         //遍歷集合         for (Person p : plist) {             System.out.println("姓名:"+p.getName()+"年齡:"+p.getAge());        }             }}
六、Vector類在List接口中還有一個子類:Vector,Vector類屬于一個挽救的子類,從整個JAVA的集合發展歷史來看,Vector算是一個元老級的類,在JDK 1.0的時候就已經存在類此類。但是到了JAVA 2(JDK 1.2)之后重點強調了集合框架的概念,所以先后定義了很多的新接口(如:List等),但是考慮到一大部分的人已經習慣了使用Vector類,所以JAVA的設計者,就讓Vector類多實現了一個List接口,這才將其保留下來。但是因為其是List子類,所以Vector類的使用與之前的并沒有太大的區別。
package com.pb.demo1;import java.util.Vector;public class VectorTest {    public static void main(String[] args) {                Vector<String> plist=new Vector<String>();                plist.add("張三");        plist.add("李四");        plist.add("王五");        plist.add("趙六");        System.out.println("長度:"+plist.size());        for (String s : plist) {            System.out.println(s);        }    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣威市| 安西县| 都安| 苍南县| 马关县| 齐河县| 荔波县| 武鸣县| 山阴县| 诸暨市| 吴忠市| 运城市| 开江县| 建湖县| 宜兰县| 从江县| 绥宁县| 高尔夫| 新干县| 德昌县| 东阳市| 麻江县| 应用必备| 辽阳市| 垫江县| 芒康县| 昌平区| 西城区| 彭阳县| 绥宁县| 濉溪县| 奇台县| 仪陇县| 博兴县| 邹城市| 集安市| 洛阳市| 浦北县| 杭州市| 洪湖市| 巴青县|