Pure Java – 70 Generics & Collections – ArrayList – 02

Merhaba Arkadaslar,
Onceki yazida java.util.ArrayList sinifini incelemeye baslamistik. Bu yazida ArrayList ile ilgili konulara devam edecegiz.

ArrayList’ler arraylerle benzerlik gosterirler. Java su donusumlere izin verir.

  • java.util.List –> array
  • array —> java.util.List

java.util.Arrays sinifinda yer alan asList metodunu kullanarak bir diziyi/array List’e cevirebiliriz.

import java.util.Arrays;
import java.util.List;

public class ArraysAsListMethod {

	public static void main(String[] args) {
		String[] namesArray = { "names1", "names2", "names3", "names4" };

		List namesList = Arrays.asList(namesArray);
		// java.util.Arrays sinifinda bulunan asList metodu ile diziyi List'e
		// donusturabiliriz.

		int size = namesList.size();
		System.out.println("size:" + size);

		for (String str : namesArray) {
			System.out.println(str);
		}

		// List'teki elemani guncellersek otomatik olarak dizi/arraydeki eleman
		// da guncellenecektir.
		namesList.set(0, "set new names1");

		for (String str : namesArray) {
			System.out.println(str);
		}

		// Arrays.asList metodunu kullanarak olarak elde ettigimiz List'e yeni
		// eleman ekleyemeyiz!
		// namesList.add("java.lang.UnsupportedOperationException");

	}
}

  • List’teki elemani guncellersek otomatik olarak dizi/arraydeki eleman da guncellenecektir.
  • Arrays.asList metodunu kullanarak olarak elde ettigimiz List’e yeni eleman ekleyemeyiz!

Bir diger ornek olarak , toArray metodunu kullanabiliriz. Overloaded toArray metodu yardimi ile List’leri array’e cevirebiliriz.

import java.util.ArrayList;
import java.util.List;

public class ToArrayMethodTest {

	public static void main(String[] args) {

		List namesList = new ArrayList();

		namesList.add("name1");
		namesList.add("names");
		namesList.add("name3");
		namesList.add("name4");

		Object[] namesObjectArray = namesList.toArray();
		// Object array

		for (Object name : namesObjectArray) {
			System.out.print(name + " ");
		}
		System.out.println();

		String[] namesStringArray = new String[namesList.size()];
		namesStringArray = namesList.toArray(namesStringArray);
		// String array

		for (String name : namesStringArray) {
			System.out.print(name + " ");
		}

		System.out.println();
		namesStringArray[0] = "new name1";
		System.out.println(namesStringArray[0]);
		System.out.println(namesObjectArray[0]);
		System.out.println(namesList.get(0));
		// asList metodunun aksine degisiklikten etkilenmez.

		namesList.add("add new name");
		// List'e yeni eleman ekleyebiliriz.

	}
}

Suana kadar List elemanlarinda dolasmak icin gelistirilmis for dongusu kullandik.Bu islemi java.util.Iterator ve java.util.ListIterator interface/arabirimleri yardimi ile de yapabiliriz.

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class ListIteratorTest {
	public static void main(String[] args) {

		List names = new ArrayList();
		names.add("name1");
		names.add("name2");
		names.add("name3");
		names.add("name4");

		System.out.println("For Dongusu");
		for (int i = 0; i < names.size(); i++) {
			System.out.print(names.get(i) + " ");
		}
		System.out.println("\nGelismis For Dongusu");
		for (String name : names) {
			System.out.print(name + " ");
		}

		System.out.println("\nIterator");
		Iterator iterator = names.iterator();
		while (iterator.hasNext()) {
			System.out.print(iterator.next() + " ");
		}
		System.out.println("\nListIterator");
		ListIterator listIterator = names.listIterator();
		while (listIterator.hasNext()) {
			System.out.print(listIterator.next() + " ");
		}

		System.out.println("\nReverse");
		while (listIterator.hasPrevious()) {
			System.out.println(listIterator.previous());
		}
		
	}
}

Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *