欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的List接口實現(xiàn)類解析

 更新時間:2022年02月15日 09:40:44   作者:gfjserhukher  
這篇文章主要介紹了Java中的List接口實現(xiàn)類解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java的List接口實現(xiàn)類

實現(xiàn)類ArrayList

ArrayList類相當(dāng)于一個容量可變的動態(tài)數(shù)組,當(dāng)超過了他的大小時,類集自動增加,當(dāng)對象被刪除后,數(shù)組就可以縮小。

import java.util.*;
public class ListDemo {
    public static void main(String args[]){
        Collection c1 = new ArrayList();//實例化一個具體的子類對象
        for(int i=0;i<5;i++){
            c1.add(new Integer(i));
        }//循環(huán)添加5個整型類對象
        System.out.println("c1:"+c1);
        Collection c2 = new ArrayList();
        c2.addAll(c1);
        c2.remove(new Integer(3));
        c2.add("hehe");
        System.out.println("c2:"+c2);
        Iterator it = c2.iterator();
        while(it.hasNext()){
            Object obj = it.next();
            System.out.println("Iterator遍歷c2  "+obj+"\t");
        }
    }
}

運行結(jié)果:

c1:[0, 1, 2, 3, 4]
c2:[0, 1, 2, 4, hehe]
Iterator遍歷c2  0    
Iterator遍歷c2  1    
Iterator遍歷c2  2    
Iterator遍歷c2  4    
Iterator遍歷c2  hehe    

注:

Collection的打印結(jié)果以方括號括住,每個元素之間以逗號相隔。由ArrayList的結(jié)構(gòu)特點可知,該類取出元素有較高的效率,但元素做刪除或插入操作較慢。

實現(xiàn)類LinkedList

import java.util.LinkedList;
public class LinkedListDemo {
    public static void main(String args[]) {
        LinkedList linkedList = new LinkedList();
        linkedList.add("F");
        linkedList.add("B");
        linkedList.add("D");
        linkedList.add("E");
        linkedList.add("C");
        System.out.println("顯示初始化后linklist的內(nèi)容:" + linkedList);
        linkedList.addLast("Z");
        linkedList.addFirst("AO");
        linkedList.add(1, "AI");
        System.out.println("顯示添加操作后linkedList內(nèi)容:" + linkedList);
        linkedList.remove("F");
        linkedList.remove(2);
        System.out.println("顯示刪除操作后的linkedList內(nèi)容:" + linkedList);
        linkedList.removeFirst();
        linkedList.removeLast();
        System.out.println("顯示刪除操作后linkList內(nèi)容:" + linkedList);
        Object object = linkedList.get(2);
        //修改內(nèi)容
        linkedList.set(2, (String) object + "Chaanged");
        System.out.println("現(xiàn)實操作后linklist內(nèi)容:" + linkedList);
    }
}

運行結(jié)果:

顯示初始化后linklist的內(nèi)容:[F, B, D, E, C]
顯示添加操作后linkedList內(nèi)容:[AO, AI, F, B, D, E, C, Z]
顯示刪除操作后的linkedList內(nèi)容:[AO, AI, D, E, C, Z]
顯示刪除操作后linkList內(nèi)容:[AI, D, E, C]
現(xiàn)實操作后linklist內(nèi)容:[AI, D, EChaanged, C]

Process finished with exit code 0

注:

LinkedList容器類提供了一個鏈接列表數(shù)據(jù)結(jié)構(gòu),通過連接指針來關(guān)聯(lián)前后兩個元素。因為LinkedList是使用雙向鏈表實現(xiàn)的容器,所以針對頻繁的插入或刪除元素,它適合實現(xiàn)棧和隊列。

實現(xiàn)類Vector

Vector類提供了實現(xiàn)了可增長數(shù)組的功能,隨著更多元素加入其中,數(shù)組變得更大,在刪除一些元素之后,數(shù)組變小。Vector類的大多數(shù)操作和ArrayList類相同,區(qū)別之處在于Vector類是線程同步的。

import java.util.Vector;
public class VectorDemo {
    public static void main(String args[]){
        Vector v = new Vector();
        v.add("one");
        v.add("two");
        v.add("three");
        System.out.println("顯示向量初始值:"+v.toString());
        v.insertElementAt("zero",0);
        v.insertElementAt("oop",3);
        System.out.println("顯示插入后向量值:"+v.toString());
        v.setElementAt("three",3);
        v.setElementAt("four",4);
        System.out.println("顯示修改后元素向量值:"+v.toString());
        v.removeAllElements();
        System.out.println("顯示全刪除后向量值:"+v.toString());
    }
}

運行結(jié)果:

顯示向量初始值:[one, two, three]
顯示插入后向量值:[zero, one, two, oop, three]
顯示修改后元素向量值:[zero, one, two, three, four]
顯示全刪除后向量值:[]

Process finished with exit code 0

注解:

Java的集合與數(shù)組的區(qū)別在于,在創(chuàng)建Java數(shù)組時,必須明確指定數(shù)組的長度,數(shù)組一旦創(chuàng)建,其長度就不能被改變。為了使程序能方便的存儲,檢索和操縱數(shù)目不固定的一組數(shù)組,JDK類庫創(chuàng)建了Java集合,所有Java集合類都位于java.util包中。另外Java集合中不能存放基本類型數(shù)據(jù),而只能存放對象的引用。

List三個實現(xiàn)類

List 是有序的 Collection。

List 一共三個實現(xiàn)類分別是 ArrayListVector LinkedList。

  • ArryList底層通過數(shù)組實現(xiàn),允許對元素進行快速隨機訪問,數(shù)組的缺點是元素之間不能有間隔。當(dāng)數(shù)組大小不滿足時,需要增加存儲能力,即將已有數(shù)組的數(shù)據(jù)復(fù)制到新的存儲空間。插入和刪除的代價較高,適合于隨機查找和遍歷。線程是不安全的。排列有序,數(shù)據(jù)可重復(fù)
  • Vector 底層通過數(shù)組實現(xiàn),支持線程的同步,即某一時刻只有一個線程能夠?qū)慥ector,但實現(xiàn)同步的代價很高,訪問速度比ArryList慢,線程安全但效率低。排列有序,數(shù)據(jù)可重復(fù)
  • LinkList 底層用鏈表實現(xiàn)適于數(shù)據(jù)的動態(tài)插入和刪除,但隨即訪問和遍歷的速度慢。排列有序,但數(shù)據(jù)不可重復(fù)。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Log4j詳細使用教程_動力節(jié)點Java學(xué)院整理

    Log4j詳細使用教程_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細介紹了Log4j的使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Java 如何利用緩沖流讀寫文件

    Java 如何利用緩沖流讀寫文件

    這篇文章主要介紹了Java 如何利用緩沖流讀寫文件的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java經(jīng)典面試題匯總:Mybatis

    Java經(jīng)典面試題匯總:Mybatis

    本篇總結(jié)的是Mybatis框架相關(guān)的面試題,后續(xù)會持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實習(xí)生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯誤還望大家多多包涵,不吝賜教,謝謝
    2021-07-07
  • SpringMvc+Angularjs 實現(xiàn)多文件批量上傳

    SpringMvc+Angularjs 實現(xiàn)多文件批量上傳

    本文通過實例代碼給大家講解了SpringMvc+Angularjs 實現(xiàn)多文件批量上傳功能,非常不錯,具有參考借鑒價值,需要的朋友一起學(xué)習(xí)吧
    2017-03-03
  • 基于RxPaparazzo實現(xiàn)圖片裁剪、圖片旋轉(zhuǎn)、比例放大縮小功能

    基于RxPaparazzo實現(xiàn)圖片裁剪、圖片旋轉(zhuǎn)、比例放大縮小功能

    這篇文章主要為大家詳細介紹了基于RxPaparazzo實現(xiàn)圖片裁剪、圖片旋轉(zhuǎn)、比例放大縮小功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • springboot如何實現(xiàn)異步響應(yīng)請求(前端請求超時的問題解決)

    springboot如何實現(xiàn)異步響應(yīng)請求(前端請求超時的問題解決)

    這篇文章主要給大家介紹了關(guān)于springboot如何實現(xiàn)異步響應(yīng)請求(前端請求超時的問題解決)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用springboot具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-01-01
  • Java計時器StopWatch實現(xiàn)方法代碼實例

    Java計時器StopWatch實現(xiàn)方法代碼實例

    這篇文章主要介紹了Java計時器StopWatch實現(xiàn)方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot高版本修改為低版本時測試類報錯的解決方案

    SpringBoot高版本修改為低版本時測試類報錯的解決方案

    這篇文章主要介紹了SpringBoot高版本修改為低版本時測試類報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot+JavaMailSender實現(xiàn)騰訊企業(yè)郵箱配置

    SpringBoot+JavaMailSender實現(xiàn)騰訊企業(yè)郵箱配置

    這篇文章主要介紹了SpringBoot+JavaMailSender實現(xiàn)騰訊企業(yè)郵箱配置,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 項目打包成jar后包無法讀取src/main/resources下文件的解決

    項目打包成jar后包無法讀取src/main/resources下文件的解決

    本文主要介紹了項目打包成jar后包無法讀取src/main/resources下文件的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論