2015-04-22 65 views
0

列表允許重複,但寫的邏輯來列表允許重複,但如何編寫邏輯DIS-允許列表重複在Java核心

import java.util.*; 
class ALTest 
{ 
    public static void main(String[] args) { 
     ArrayList al=new ArrayList(); 
     al.add("A"); 
     al.add("B"); 
     al.add("A"); 
     al.add(10); 
     al.add(20); 
     al.add("List"); 
     System.out.println(al); 
    } 
} 

這裏DIS-允許列表重複一個是重複的不應該是重複的

+7

你寫的邏輯是什麼意思?如果您不想允許重複,請查看「Set」。 –

+2

如果你想禁止重複,當功能已經存在時,使用'Set'爲什麼要痛苦並且寫點新東西 – Vihar

回答

7

最簡單的方法是改用LinkdHashSet。它將防止重複,並且仍然可以按照添加到Set中的順序迭代元素。

+6

難怪其他人如何獲得如此巨大的聲譽?你很容易就可以將其標記爲重複帖子或太寬泛 –

0

您必須確保不輸入重複項。如果您想嚴格使用列表,請在輸入列表之前先執行搜索算法以查找列表中是否存在元素。如果不同的數據結構的想法,我會建議你

  • HashSet的
  • 樹集合
0

變化

ArrayList al=new ArrayList(); 

Set al = new HashSet(); 

或者使用LinkedHashset,正如伊蘭所建議的那樣您關心廣告訂單。

**鏈接通常意味着每個元素都包含對下一個元素的引用,默認情況下,JCF通常意味着插入順序。

0

如果你想編寫自己的List,你可以隨時擴展現有List類,並添加所需的邏輯:

public class MyList<T> extends ArrayList<T> { 
    @Override 
    public boolean add(T item) { 
     if (!this.contains(item)) { 
      return (super.add(item)); 
     } 
     return (false); 
    } 
} 

(這個例子是不完整的,它只會顯示總的原則)