码迷,mamicode.com
首页 > 编程语言 > 详细

[Java in NetBeans] Lesson 15. Sorting and Searching.

时间:2019-01-01 11:13:26      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:numbers   double   less   com   tom   student   objects   color   imp   

这个课程的参考视频和图片来自youtube

    主要学到的知识点有:

Build in functions in java.util.Collections

  • Need to implement a comparator - a special class which returns an integer comparision of two object, if  compare(a,b), if return negative number, a will be before b, otherwise a will be after b. (Just need to override the compare() function)

1. Sorting: arrange a collection in order    Collections.sort(List<T> list, Comparator<>)

It is used like below:

ArrayList<integer> numbers = new ArrayList<>();
for (int i =0; i< 20; i++){
    numbers.add(generator.nextInt(100) + 1); // get a random number from 1 to 100
}
Collections.sort(numbers, new IntegerComparator())

Then we create a comparator, defined in another java class called IntegerComparator

public class IntegerComparator implements Comparator<integer>{
   @Override
public int compare(Integer a, Integer b){ return a-b; } }

If sometimes we need to compare two objects of a customed class.

  • Here assume that we have a class called Student, it contains GPA and name of the student. Then we will implement the class of StudentGpaComparator.
import java.util.Comparator;

public class StudentGpaComparator implements Comparator<Student>{

    @Override
    public int compare(Student s1, Student s2){
        double gpa1 = s1.getGpa();
        double gpa2 = s2.getGpa();
        return  (int) ((gpa1 - gpa2)*100)
    }
}

 

 

2. Search: find a specific value in a collections   Collections.binarySearch(List<T> list, T key, Comparator<>)

 It is used like below: (will return -1 if not found)

Collections.binarySearch(numbers, 50, new IntegerComparator());

 

[Java in NetBeans] Lesson 15. Sorting and Searching.

标签:numbers   double   less   com   tom   student   objects   color   imp   

原文地址:https://www.cnblogs.com/Johnsonxiong/p/10147294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!