我试图仅获取不同的坐标,这意味着坐标$(document).ready(function () {
var navListItems = $('div.setup-panel div a'),
allWells = $('.setup-content'),
allNextBtn = $('.nextBtn');
allWells.hide();
navListItems.click(function (e) {
e.preventDefault();
var $target = $($(this).attr('href')),
$item = $(this);
if (!$item.hasClass('disabled')) {
navListItems.removeClass('btn-primary').addClass('btn-default');
$item.addClass('btn-primary');
allWells.hide();
$target.show();
$target.find('input:eq(0)').focus();
}
});
allNextBtn.click(function(){
var curStep = $(this).closest(".setup-content"),
curStepBtn = curStep.attr("id"),
nextStepWizard = $('div.setup-panel div a[href="#' + curStepBtn + '"]').parent().next().children("a"),
curInputs = curStep.find("input[type='text'],input[type='url']"),
isValid = true;
$(".form-group").removeClass("has-error");
for(var i=0; i<curInputs.length; i++){
if (!curInputs[i].validity.valid){
isValid = false;
$(curInputs[i]).closest(".form-group").addClass("has-error");
}
}
if (isValid)
nextStepWizard.removeAttr('disabled').trigger('click');
});
$('div.setup-panel div a.btn-primary').trigger('click');
});
和(6,7)
是相同的。我怎样才能遍历数组并仅获得不同的坐标?因此,基本上我需要来自(7,6)
数组的所有坐标组合。
int[][]
我想要的输出:
ArrayList<Coords> coordinateList = new ArrayList<>();
int[][] coordinates = { {56,80}, {32,26}, {47,85}, {3,4}, {10,19}};
public void findDistinct(int[][] coordinates){
for (int i = 0; i < coordinates.length; i++) {
for (int j = 0; j < coordinates.length - 1 ; j++) {
if (i == j) continue;
Coords coords = new Coords(i, j);
if(! coordinateList.contains(coords)){
coordinateList.add(coords);
}
}
}
for(Coords coords: coordinateList){
System.out.println(coords);
}
}
public class Coords{
private final x;
private final y;
public Coords(x,y) {
this.y = y;
this.x = x;
}
@Override
public String toString() {
return "Coords{" +
"x=" + x +
", y=" + y +
'}';
}
}
但是现在我得到了所有可能的坐标变化。如何更改代码以获得所需的结果?
答案 0 :(得分:1)
for (int j = 0; j < coordinates.length; j++)
应该是
for (int j = i + 1; j < coordinates.length; j++)
这样,您也不再需要检查if (i == j)
答案 1 :(得分:1)
coordinateList.contains(coords)将检查obj哈希码是否匹配。如果要包含用于检查两个对象的坐标是否匹配的方法,则可以实现哈希码和类坐标的equals方法。
由于您需要唯一的坐标列表,因此考虑使用Set数据结构而不是list,因为contains是费用操作