Eğer işaretlerseniz API için List
fark edeceğiniz diyor:
Interface List<E>
Bir örnek interface
olarak 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]