Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo:laboratoare:08 [2020/11/23 11:12]
carmen.odubasteanu
poo:laboratoare:08 [2022/11/24 13:08] (current)
carmen.odubasteanu [ATENTIE! Se vor folosi tipuri generice in toate problemele!]
Line 9: Line 9:
  
 <code java> <code java>
 +public class ArrayMapEntry<​K,​ V> implements Map.Entry<​K,​ V> {
 +private K key;
 +private V value;
 +...// constructor
 public K getKey(); public K getKey();
 public V getValue(); public V getValue();
Line 15: Line 19:
 public boolean equals(Object o); public boolean equals(Object o);
 public int hashCode(); public int hashCode();
 +}
 </​code>​ </​code>​
  
Line 20: Line 25:
  
 <code java> <code java>
 +public class ArrayMap<​K,​ V> extends AbstractMap<​K,​ V>{
 +...
 public Set entrySet(); public Set entrySet();
 public int size(); public int size();
 public V put(K key, V value); public V put(K key, V value);
 +....
 +}
 </​code>​ </​code>​
  
Line 54: Line 63:
  
 === Problema 3 === === Problema 3 ===
-Definiți clasa **__generică__** **//​LinkedList//​** care va implementa interfața **//​Iterable//​** și va modela o listă liniară simplu înlănțuită.+Definiți clasa **__generică__** **//​LinkedList//​** care va implementa interfața **//​Iterable//​** și va modela o listă liniară simplu înlănțuită
 +class LinkedList<​T>​ implements Iterable<​T>​
  
 În clasa **//​LinkedList//​** se vor defini: În clasa **//​LinkedList//​** se vor defini:
-  * o clasă internă privată statică **//​Node//​** care conține două referințe: una pentru valoarea pe care o reține nodul și una pentru nodul următor din listă; și doi constructori:​ unul cu doi parametri (valoarea și nodul următor) și unul cu un parametru (valoarea) - va atribui valoarea null nodului următor;+  * o clasă ​**//​generica//​** ​internă privată statică **//​Node//​** ​ 
 +                     <​code>​ private static class Node<​T>​ </​code>​ 
 +care conține două referințe: una pentru valoarea pe care o reține nodul și una pentru nodul următor din listă; și doi constructori:​ unul cu doi parametri (valoarea și nodul următor) și unul cu un parametru (valoarea) - va atribui valoarea null nodului următor;
   * două elemente de tip **//​Node//​**,​ reprezentând primul și respectiv ultimul element din listă;   * două elemente de tip **//​Node//​**,​ reprezentând primul și respectiv ultimul element din listă;
-  * o clasă internă **//​ListIterator//​** ce va implementa interfața **//​Iterator//​**;​+  * o clasă internă **//​ListIterator//​** ce va implementa interfața ​generica ​**//​Iterator//​**;​
   * metodele prezentate în blocul de cod de mai jos.   * metodele prezentate în blocul de cod de mai jos.
  
Line 67: Line 79:
 //Insereaza un nod la sfarsitul listei //Insereaza un nod la sfarsitul listei
 public void add(T data); public void add(T data);
-//​Returneaza primul nod din lista 
-public T getNode(); 
 //​Returneaza un obiect de tip ListIterator //​Returneaza un obiect de tip ListIterator
 public Iterator<​T>​ iterator(); public Iterator<​T>​ iterator();
poo/laboratoare/08.1606122751.txt.gz · Last modified: 2020/11/23 11:12 by carmen.odubasteanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0