Giriş
İmzası şöyle.
Örnek
Bellek alanı olarak belirtilen array'i kullanan read only bir liste döner. Açıklaması şöyle
null eleman olabilir. Şöyle yaparız.
Şöyle yaparız.
Örnek - ekleme çıkarmaList<T> asList (T...a);
Açıklaması şöyle
When we do Arrays.asList(array) it creates a fixed-size list backed by the specified array. We can’t modify it’s length thus adding or removing is not allowed. And also it is not copied or created, it is just view of the same array, so if you update the value of an element in the list it will also change the element in the original array.Metod Arrays$ArrayList nesnesi döner. Bu metod Java 9 ile gelen List.of() metodu ile karşılaştırılabilir.
Örnek
Bellek alanı olarak belirtilen array'i kullanan read only bir liste döner. Açıklaması şöyle
Returns a fixed-size list backed by the specified array.
Şöyle yaparız.
List<Integer> list = Arrays.asList(new Integer[desiredLength]);
Eğer array değişirse liste de değişir. Şöyle yaparız.Integer[] array = {1,2,3};
List<Integer> list = Arrays.asList(array);
array[1] = 10;
System.out.println(list); // Prints [1, 10, 3]
Örnek - null elemannull eleman olabilir. Şöyle yaparız.
List<Integer> list = Arrays.asList(1, 2, null); // OK
Dolayısıyla null araması yapılabilir. Şöyle yaparız.List<Integer> list = Arrays.asList(1, 2, 3);
list.contains(null); // Return false
Örnek - farklı tiplerŞöyle yaparız.
List list1 = Arrays.asList(1L, 2.0F, "3");
var list2 = list1;
Örnek - farklı tipler
Elimizde şöyle bir kod olsun. Çıktı olarak Object[] alırız çünkü int[] ve String[]'in ortak tek atası Object[]'dir
System.out.println(Arrays.asList(false? new int []{2} :new String[]{"2"}));
Bu listeye ekleme çıkarma işlemi yapılamaz yoksa UnsupportedExcetion fırlatılır. Elimizde altta Array kullanan bir liste olsun.
String[] arr = {"a", "b"};
List<String> list = Arrays.asList(array);
Bu listeye ekleme yaparsak exception fırlatılır. Şöyle yaparız.try {
list.add("c");
}
catch(UnsupportedOperationException e) {
// Fixed-size
}
Eğer Arrays.asList()'in sonucuna da bir şey eklemek istersek şöyle yaparız.List<Foo> list= new ArrayList<>(Arrays.asList(...));
Örnek - değiştirmeListe'deki eleman değiştirilebilir. Şöyle yaparız.
List<Integer> list = Arrays.asList(1, 2, null);
list.set(1, 10); // OK
Örnek - arrayAçıklaması şöyle
Arrays.asList(int[]) - will create a List<int[]>
Eğer T Object'ten kalıtan bir tipse, çoklu elemana sahip bir liste dönüyor. Eğer T primitive ise tek elemana sahip bir liste döner. Aşağıdaki kod bize List<char> değil, tek elemanı sahip List<char[]> döner.char[] alpha = {...};
Arrays.asList(alpha)
ÇözümPrimitive tipleri nesne olarak geçeriz. Şöyle yaparız.
Integer[] array = {3, 2, 5, 4};
if (Arrays.asList(array).contains(3))
{
System.out.println("The array contains 3");
}
ÇözümasList yerine "double curly brace initialization" kullanılabilir. Şöyle yaparız.
List<String> list = new ArrayList<String>() {{
add("one");
add("two");
add("three");
}};
ÇözümListeye çevirmek yerine direkt stream'e çeviririz. Şöyle yaparız.
Arrays.stream(array)
Hiç yorum yok:
Yorum Gönder