问题描述
public interface Insertion <T extends Comparable<? super T>>{
public void Sort(T[] ArrayToSort);
public void Sort(T[] ArrayToSort,Comparator<T> Comparator);
public void Reverse(T[] ArrayToSort);
public void Reverse(T[] ArrayToSort,Comparator<T> Comparator);
public static Comparator<String> IgnoreCase = new Comparator<String>() {
@Override
public int compare(String object1,String object2) {
return object1.comparetoIgnoreCase(object2);
}
};
}
课程
public final class InsertionSort<T extends Comparable<? super T>> implements Insertion<T> {
public void Sort(T[] a) {
if(a.length <1 || a == null) {
return;
}
for(int i=0;i<a.length;i++) {
for(int j=i;j>0;j--) {
if(a[j].compareto(a[j-1])<0) {
exchange(a,j,j-1);
}
else break;
}
}
}
private void exchange(T[] a,int Index_1,int Index_2) {
T temp = a[Index_1];
a[Index_1]=a[Index_2];
a[Index_2] = temp;
}
@Override
public void Sort(T[] a,Comparator<T> Comparator) {
if(a.length <1 || a == null) {
return;
}
for(int i=0;i<a.length;i++) {
for(int j=i;j>0;j--) {
if(Comparator.compare(a[j],a[j-1])<0) {
exchange(a,j-1);
}
else break;
}
}
}
@Override
public void Reverse(T[] a) {
if(a.length <1 || a == null) {
return;
}
for(int i=0;i<a.length;i++) {
for(int j=i;j>0;j--) {
if(a[j].compareto(a[j-1])>0) {
exchange(a,j-1);
}
else break;
}
}
}
@Override
public void Reverse(T[] a,Comparator<T> Comparator) {
if(a.length <1 || a == null) {
return;
}
for(int i=0;i<a.length;i++) {
for(int j=i;j>0;j--) {
if(Comparator.compare(a[j],a[j-1])>0) {
exchange(a,j-1);
}
else break;
}
}
}
}
演示课
@SuppressWarnings("rawtypes")
public class Student implements Comparable{
Integer Id;
String name;
Double Salary;
public Integer getId() {
return Id;
}
public void setId(Integer id) {
Id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getSalary() {
return Salary;
}
public void setSalary(Double salary) {
Salary = salary;
}
public Student(Integer iD,String name,Double salary) {
this.Id = iD;
this.name = name;
this.Salary = salary;
}
@Override
public String toString() {
return "Student [Id=" + Id + ",name=" + name + ",Salary=" + Salary + "]";
}
public static Comparator<Student> SortByName = new Comparator<Student>() {
@Override
public int compare(Student object1,Student object2) {
return object1.name.compareto(object2.name);
}
};
public static Comparator<Student> NameIgnoreCase = new Comparator<Student>() {
@Override
public int compare(Student object1,Student object2) {
return object1.name.comparetoIgnoreCase(object2.name);
}
};
public static Comparator<Student> SortBySalary = new Comparator<Student>() {
@Override
public int compare(Student object1,Student object2) {
return object1.Salary.compareto(object2.Salary);
}
};
public static void main(String[] args) {
Student student_1 = new Student( 9581081,"Bdfad",43242.00);
Student student_2 = new Student( 9581082,"Vomkmksjd",56566.00);
Student student_3 = new Student( 9581083,"Pkewyda",564643.00);
Student student_4 = new Student( 9581084,"rgsdfger",534134.00);
Student student_5 = new Student( 9581085,"ljldjfdfd",5652656.00);
Student[] studentList = {student_1,student_2,student_3,student_4,student_5};
List<Student> studentList_1 = new ArrayList<Student>();
studentList_1.add(student_1);
studentList_1.add(student_2);
studentList_1.add(student_3);
studentList_1.add(student_4);
studentList_1.add(student_5);
Insertion<Student> insertion_str = new InsertionSort<Student>();
insertion_str.sort(studentList,SortBySalary);
for(Student student:studentList_1) {
System.out.println(student.getName());
}
}
@Override
public int compareto(Object o) {
// Todo Auto-generated method stub
return 0;
}
}
错误:绑定不匹配:学生类型不是有界参数的有效替代 代码有什么问题
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)