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

这个课程的参考视频和图片来自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());

 

转载于:https://www.cnblogs.com/Johnsonxiong/p/10147294.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值