Sunteți pe pagina 1din 3

1) Manipularea tipurilor generice

Curatarea consolei
System.out.println("\033[2K");
ArrayList a = new ArrayList();
a.add("John"); <- tinut minte ca obiect

ArrayList<String> a = new ArrayList<>();


a.add("John"); <- tinut minte ca string
System.out.println(a.get(0));

Wildcard-ul (pentru a nu avea probleme in afisarea copiilor sau clasei mama)


public class Person {
public String name;
}
public class Student extends Person{
public String idNumber;
public static void show (ArrayList<?> os)
{
for(Object o: os)
System.out.println(((Person)o).name);
}
}
in main
ArrayList <Student> listStudent = new ArrayList<>();
ArrayList <Person> listPerson = new ArrayList<>();
Person o = new Person();
o.name = "John";
Student s = new Student ();
s.name = "David";
s.idNumber = "25/25";
listPerson.add(o);
listStudent.add(s);
show(listStudent);

Crearea unei clase generice


public class MyClass<T>{
public T t;
}
public static void main(String[] args){
MyClass<Integer> myClass = new MyClass<>();
myClass.t=10;
}

public class MyClass<T,S,U>{


public T t;
public S s;
public U u;
public MyClass(T t, S s, U u){
this.t = t;
this.s = s;
this.u = u;
}
}
MyClass<Integer,String,boolean> myClass = new MyClass<>(35,"Ion",false);

Daca dorim sa executam operatii aritmetice cu clase


public class MyClass<T extends Number>{
public T t;
public void showResult()
{
if(t.getClass().equals(Integer.class))
System.out.println(t.intValue()*t.intValue());
if(t.getClass().equals(Double.class))
System.out.println(t.doubleValue()*t.doubleValue());
}
}
E-element
K-cheie
N-numar
T-tip
V-valoare
S,U - tip2, tip3

Exercitiul
public class Person{
public String name;
public String surname;
public Person(String name, String surname){
this.name=name;
this.surname=surname;
}
}
public static void main (String[] args){
ArrayList<Person> al = new ArrayList<>();
Person p1 = new Person("Codrut","Stefanescu");
Person p2 = new Person("Ion","Ionescu");
al.add(p1);
a2.add(p2);
for(Person p: al)
System.out.println(p.name+p.surname);
}
+ Iterator
public static void main(String args[]) {
// Create an array list
ArrayList al = new ArrayList();
// add elements to the array list
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
// Use iterator to display contents of al
System.out.print("Original contents of al: ");
Iterator itr = al.iterator();
while(itr.hasNext()) {
Object element = itr.next();
System.out.print(element + " ");
}
System.out.println();
// Modify objects being iterated
ListIterator litr = al.listIterator();
while(litr.hasNext()) {
Object element = litr.next();
litr.set(element + "+");
}
System.out.print("Modified contents of al: ");
itr = al.iterator();
while(itr.hasNext()) {
Object element = itr.next();
System.out.print(element + " ");
}
System.out.println();
// Now, display the list backwards
System.out.print("Modified list backwards: ");
while(litr.hasPrevious()) {
Object element = litr.previous();
System.out.print(element + " ");
}
System.out.println();
}
}

S-ar putea să vă placă și