I have a problem set for my programming class which I’m working on. The problem set starts with:
Given the following definition of a linked list class:
1 public class Node<T> {
2 public T data;
3 public Node<T> next;
4 public Node(T data, Node<T> next) {
5 this.data = data; this.next = next;
6 }
7 }
8
9 public class LinkedList<T> {
10 private Node<T> front;
11 ...
12 }
Now, I can’t quite figure out what “Node< T >” means (line 1)… I found some literature on wildcards (I.E. List), but this is still not making much sense to me. I was wondering if anyone could explain why wildcards are used (specifically, in this case), or, if this isn’t an example of a wildcard, I was wondering if someone could tell me what it is? The book I have (“Data Structures Outside In: Java”) doesn’t mention anything helpful, neither does the oracle tutorial site I was on (link below, in case anyone wants to see what oracle had to say)
(I was on this website: http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html
but I’m still having trouble understanding what wildcards are used for, and figuring out if this is an example of a wildcard)
thank you for your help!
First, the Node represents a node of the linked list. With a singly-linked list each node holds a value and a reference to the next node in the list.
Then, the generics (
Tis generic type, not a wildcard) define that the type of value of each Node must be the same as the type defined for theList.I’d recommend reading about java generics