Eğer işaretlerseniz API için Listfark edeceğiniz diyor:
Interface List<E>
Bir örnek interfaceolarak somutlaştırılamaz (hayır new List()mümkün değildir).
Bu bağlantıyı kontrol ederseniz class, aşağıdakileri uygulayan bazı es'ler bulacaksınız List:
Bilinen Tüm Uygulayıcı Sınıflar:
AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack,Vector
Bunlar somutlaştırılabilir. Bağlantılarını kullanarak onlar hakkında daha fazla bilgi edinin, IE: hangisinin ihtiyaçlarınıza daha uygun olduğunu bilmek.
En sık kullanılan 3 tanesi muhtemelen:
List<String> supplierNames1 = new ArrayList<String>();
List<String> supplierNames2 = new LinkedList<String>();
List<String> supplierNames3 = new Vector<String>();
Bonus: Aşağıdaki gibi
kullanarak daha kolay bir şekilde değerlerle başlatabilirsiniz Arrays class:
List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));
Ancak, bu listeye daha fazla öğe eklemenize izin verilmediğini unutmayın fixed-size.
int[] a = {1,2,3}; System.out.println(Arrays.asList(a)); // [[I@70cdd2]