2017-02-14 67 views
1

它是更好的性能,通過使用性能比較的自定義類與陣列

ArrayList<test> karte = new ArrayList<test>(); 

和添加

test t = new test(); 

t.mac = "..."; 

karte.add(t); 

創建類

public class test { 
    private Circle c; 
    private String mac; 
    private Short abstand; 
    private Location ort; 

    public test (String mac, Circle c, Short abstand, Location ort){ 
     this.c = c; 
     this.mac = mac; 
     this.abstand = abstand; 
     this.ort = ort; 
    } 

    public String erhalteMac() 
    { 
     return mac; 
    } 

    //etc. 
} 

創建一個數組列表

然後s EE如果存在具有特定屬性

public static boolean hM(ArrayList<object> list, String mac) { 
    for (object object2 : list) { 
     if (object2.erhalteMac().equals(mac)) 
     { 
      //work with object2 here. 
      return true; 
     } 
    } 
    return false; 
} 

與簡單地創建爲每種類型的四個陣列和僅通過MAC陣列在我的情況迭代,並使用匹配的MAC串的索引中的每個其它陣列中的一個對象做出改變?

回答

1

的陣列方法會比簡單的列表一點點更快,但

一個HashMap是當有以上幾個對象實例多很多更快。

+0

有趣。這個聲明的基礎是什麼? –

+1

從鏈接頁面:「[...]爲基本操作[...]提供恆定時間的性能」。你的兩個實現都是O(n)性能。 –