比较器在另一个类的构造函数内初始化

时间:2017-12-29 19:24:20

标签: java comparator

我遇到了以下代码。在这里,我们如何在优先级队列的构造函数中初始化比较器?

我知道比较器是Java中的一个接口,应该在另一个类中实现。

理想情况下,我们应该在类中实现比较器并在$(document).ready(function() { var name = $('input.name'); var email = $('input.email').prop('disabled',true); var subject = $('input.subject').prop('disabled',true); var message = $('textarea.Message').prop('disabled',true); var button = $('input#button').prop('disabled',true); name.on('keyup',function() { if($(this).val().length > 0) { email.prop('disabled',false); } else { email.prop('disabled',true); } }); email.on('keyup',function() { if($(this).val().length > 0 && $(this).val().includes('@') && $(this).val().includes('.com')) { subject.prop('disabled', false); message.prop('disabled',false); } else { subject.prop('disabled', true); message.prop('disabled',true); button.prop('disabled',true); } }); message.on('keyup',function() { if($(this).val().length > 0){ button.prop('disabled',false); } }) button.on('click', function() { name.val(''); email.val(''); subject.val(''); message.val(''); }) }) 构造函数中使用它的初始化。

但以下代码有效。怎么样?

PriorityQueue

1 个答案:

答案 0 :(得分:0)

在参考代码snap中,使用构造函数创建了优先级队列对象,该构造函数将两个对象作为参数viz type int和Comparator类型。

在参考代码snap中,Comparator类型对象已创建为匿名内部类,并作为第二个对象传递给PriorityQueue构造函数。

为了更好地理解你可以在下面两个语句中打破该语句。 1st将创建比较器对象,2nd将该对象传递给阻塞队列。

比较> comparator = new Comparator>(){             public int compare(ArrayList list1,ArrayList list2){                 return list1.get(2) - list2.get(2);             } };

的PriorityQueue> heap = new PriorityQueue>(10,比较器);