教学内容总结:
泛型主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。
可以使用“class 名称<泛型列表>”声明一个类,称作泛型类,其声明和创建对象时,必须要用具体的类型替换“<>”中的泛型。
在使用泛型类建立的数据结构时,不必进行强制类型转换,即不要求进行运行时类型检查。
java.util包中的LinkedList<E>泛型类创建的对象以链表结构存储数据,称为链表对象:
LinkedList<string> mylist=new LinkedList<string>();
链表可以使用add(E obj)方法向链表依次增加结点。
Collections类提供的类方法:
public static sort(List<E> list)将list中的元素按升序排列。
int binarySearch(List<T> list,T key,Compare To<T> c)用折半法查找list是否有和参数key相等的元素。
public static void shuffle(List<E> list)将list中的数据按洗牌算法重新随机排列。
static void rotate(List<E> list,int distance)旋转链表中的数据
例如:list数据为10、20、30、40、50 ,那么Collections.rotate(list,1)之后,数据为50、10、20、30、40,参数distance取正值时向右边转动list的数据,若为负,则向左转动。
public static void reverse(List<E> list)翻转list的数据。例如3、2、1变1、2、3。
堆栈:
java.util包中的Stack<E>泛型类创建一个堆栈对象,操作如下:
pubilc E push(E item);压栈
pubilc E pop();弹栈
pubilc boolean empty();判断堆栈是否还有数据
pubilc E peek();获取堆栈顶端的数据
pubilc int search(Object data);获取数据在堆栈的数据,但不删除该数据
散列映射:
构建:HashMap<String,Student> hashtable=HashSet<Sting,Student>();
树集:
构建:TreeSet<String>mytree=new TreeSet<String>();然后用add()方法为树集添加结点。
在同一层中的结点从左到右按“大小”顺序递增排序,下一层的比上一层的小。
树映射:
构造:TreeMap<K,V>mytree=new TreeSet<K,V>();