我遇到了以下代码。在这里,我们如何在优先级队列的构造函数中初始化比较器?
我知道比较器是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
答案 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,比较器);