《Java程序设计》第十周课下作业

相关知识点的总结

  • 泛型

Java 泛型的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。

可以使用“class 名称<泛型列表>”声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如: class People<E> 其中People是泛型类的名称,E是其中的泛型,也就是说我们并没有指定E是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据。

  • 链表

 public static void shuffle(List<E> list) : 将list中的数据按洗牌算法重新随机排列。

 static void rotate(List<E> list, int distance) : 旋转链表中的数据。

 public static void reverse(List<E> list) : 翻转list中的数据。

  • 堆栈

 public E push(E item) : 实现压栈操作

 public E pop() : 实现弹栈操作。

 public boolean empty() : 判断堆栈是否还有数据。

 public E peek() : 获取堆栈顶端的数据,但不删除该数据。

 public int search(Object data) : 获取数据在堆栈中的位置

  • Comparable 接口

如果链表中存放的对象不是字符串数据,那么创建对象的类必须实现 Comparable 接口,即实现该接口中的方法  int compareTo(Object b)  来规定对象的大小关系。也就是让待排序对象所在的类实现 Comparable 接口,并重写 Comparable 接口中的  compareTo()  方法,缺点是只能按照一种规则排序。

  • Comparator 接口

编写多个排序方式类实现 Comparator 接口,并重写新 Comparator 接口中的 compare() 方法,在调用 Arrays 的 sort() 时将排序类对象作为参数传入: public static void sort(T[] a,Comparatorc) ,根据指定比较器产生的顺序对指定对象数组进行排序。数组中的所有元素都必须是通过指定比较器可相互比较的(也就是说,对于数组中的任何 e1 和 e2 元素而言,c.compare(e1, e2) 不得抛出 ClassCastException)。

课上内容补做

  • Example15_4
原文地址:https://www.cnblogs.com/IconicV/p/9000435.html