程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 深刻分析java中的聚集框架

深刻分析java中的聚集框架

編輯:關於JAVA

深刻分析java中的聚集框架。本站提示廣大學習愛好者:(深刻分析java中的聚集框架)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻分析java中的聚集框架正文


解析:假如其實不曉得法式運轉時會須要若干對象,或許須要更龐雜方法存儲對象,那末可使用Java聚集框架。

假如啟用聚集的刪除辦法,那末聚集中一切元素的索引會主動保護。

聚集完整填補了數組的缺點。

02.聚集框架的內容

 聚集框架都包括三年夜塊內容:對外的接口,接口的完成和對聚集運算的算法

 01.接口:表現聚集的籠統數據類型

 02.完成:聚集框架中接口的詳細完成

 03.算法:在一個完成了某個聚集框架的接口的對象身上完成某種有效的盤算辦法

java聚集框架簡圖:

 

 01.Collection接口存在貯存一組不惟一(許可反復),無序的對象

02.Set接口繼續Collection接口,存儲一組獨一(不許可反復),無序的對象

03.List接口繼續Collection接口,存儲一組不惟一(許可反復),有序(以元素拔出的順序來放置元素,不會從新分列)的對象

04.Map接口存儲一構成對的鍵-值對象,供給key(鍵)到value(值)的映照。Map中的key不請求有序,不許可反復。value異樣不請求有序,但許可反復。

05.Iterator接口是擔任界說拜訪和遍歷元素的接口。

上面開端引見:

1.List接口     

List接口繼續Collection接口,存儲一組不惟一(許可反復),有序(以元素拔出的順序來放置元素,不會從新分列)的對象

  完成List接口的經常使用類有ArrayList和LinkedList

ArrayList對數組停止了封裝,完成了長度可變的數組

LinkedList采取鏈表存儲方法,其長處在於拔出,刪除元素時效力比擬高

01.ArrayList聚集類

package cn.day001;

public class Penguin {
  private String name="無名氏";
  private String sex="Q仔";
  
  public Penguin() {

  }
  public Penguin(String name, String sex) {
    this.name = name;
    this.sex = sex;
  }    
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getSex() {
    return sex;
  }
  public void setSex(String sex) {
    this.sex = sex;
  }
  
  

}

測試類:

package cn.day001;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

//上機1 ArrayList聚集類
public class Test {

  public static void main(String[] args) {
    //1.創立多個企鵝對象
    Penguin penguin=new Penguin("楠楠","Q仔");
    
    Penguin penguin2=new Penguin("花花","Q妹");
    
    Penguin penguin3=new Penguin("哲哲","Q妹");
    
    //2.創立Arraylist聚集對象並把2個企鵝對象放到個中
    List<Penguin> penguins=new ArrayList<Penguin>();
    
    penguins.add(penguin);
    penguins.add(penguin2);
    penguins.add(penguin3);
    //3.輸入聚集中企鵝的數目
    System.out.println("合計有"+penguins.size()+"只企鵝");
    
    //4.經由過程遍歷聚集顯示
    for (int i = 0; i < penguins.size(); i++) {
      Penguin pg=(Penguin)penguins.get(i);
      System.out.println(pg.getName()+"\t"+pg.getSex());
    }
    //5.刪除聚集中哲哲企鵝
    penguins.remove(penguin3);
    
    //6.斷定聚集中能否還存在哲哲企鵝
    if (penguins.contains(penguin3)) {
      System.out.println("存在哲哲企鵝");
    }else {
      System.out.println("不存在哲哲企鵝");
    }
    System.out.println();
    //7.應用iterator迭代遍歷
    System.out.println("應用iterator遍歷");
    Iterator<Penguin> its=penguins.iterator();
    while (its.hasNext()) {
      Penguin pg =its.next();
      System.out.println("名字"+pg.getName()+"\t性別"+pg.getSex());
      
    }
    System.out.println();
    //8.應用foreach遍歷
    System.out.println("應用foreach遍歷");
    for (Penguin pg : penguins) {
      System.out.println("名字"+pg.getName()+"\t性別"+pg.getSex());
    }

  }

}

02.LinkedList聚集類

 

package cn.day001;


import java.util.LinkedList;


//測試LinkedList的多個特別辦法
public class Test2 {

  public static void main(String[] args) {
    //1.創立多個企鵝對象
        Penguin penguin=new Penguin("楠楠","Q仔");
        
        Penguin penguin2=new Penguin("花花","Q妹");
        
        Penguin penguin3=new Penguin("哲哲","Q妹");
        
        //2.創立Arraylist聚集對象並把2個企鵝對象放到個中
        //List<Penguin> penguins=new ArrayList<Penguin>();
        LinkedList<Penguin> penguins=new LinkedList<Penguin>();
        
        penguins.add(penguin);
        penguins.add(penguin2);
        penguins.add(penguin3);
        //3.輸入聚集中企鵝的數目
        System.out.println("合計有"+penguins.size()+"只企鵝");
        
        //4.檢查聚集中第一只企鵝的昵稱
        Penguin firstpenguins=penguins.getFirst();
        System.out.println("第一只企鵝的昵稱是:"+firstpenguins.getName());
        
        //5.檢查聚集中最初一只企鵝的昵稱
        Penguin lastpenguins=penguins.getLast();
        System.out.println("最初一只企鵝的昵稱是:"+lastpenguins.getName());
        
        //6.刪除第一只企鵝和最初一只企鵝
        penguins.removeFirst();
        penguins.removeLast();
        
        System.out.println("刪除後企鵝數"+penguins.size());


  }

}

2.Map接口

     

01.HashMap聚集類

package cn.day002;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

//上機2 依據寵物昵稱查找寵物  上機3 應用iterator迭代遍歷
public class Test {

  public static void main(String[] args) {
    Map<String, String> pet=new HashMap<String, String>();
    
    pet.put("嘻嘻", "狗狗");
    pet.put("哈哈", "企鵝");
    pet.put("呵呵", "貓貓");
    
    Scanner input=new Scanner(System.in);
    
    System.out.println("請輸出寵物昵稱:");
    String name=input.next();
    if (pet.containsKey(name)) {
      String petname=pet.get(name);
      System.out.println(name+"對應的寵物"+petname);
    }else {
      System.out.println("對不起,沒有此昵稱對應的寵物");
    }
    
    System.out.println();
    //應用iterator迭代遍歷
    System.out.println("應用iterator遍歷");
    Set<String> keys=pet.keySet();//掏出一切的key的值
    Iterator<String> it=keys.iterator();//獲得Iteratoer對象
    while (it.hasNext()) {
      String key = (String) it.next();//掏出key值
      String pets=pet.get(key);//依據key掏出對應的值
      System.out.println("key值:"+key+"\tvalue值:"+pets);
    }

  }

}

以上這篇深刻分析java中的聚集框架就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved