您好
这是我的完整代码!我有two lists
,其中一个是递增顺序(inorder list
)而另一个不是!它必须打印0
但它会打印-1
,请帮助我谢谢!
public class NewClass{
private static List<Element> list;
private static List<Element> inorder;
public NewClass(List listOne, List inorderOne) {
list = new ArrayList(listOne);
inorder = new ArrayList(inorderOne);
FindAllowedTrees((ArrayList<Element>) list);
}
public static void FindAllowedTrees(ArrayList<Element> result) {
for (int i = 0; i < result.size() -1; i++) {
if (result.get(i+1).getDigit() > result.get(i).getDigit()) {
int indx = inorder.indexOf(0);
System.out.println(indx);
}
}
}
public static void main(String[] args){
List<Element> listTwo = new ArrayList();
List<Element> listOne = new ArrayList();
Element e = new Element(0, 0.12);
Element e1 = new Element(2, 0.13);
Element e3 = new Element(3,0.5);
listTwo.add(e);
listTwo.add(e1);
listTwo.add(e3);
listOne.add(e);
listOne.add(e1);
listOne.add(e3);
Collections.sort(listOne,new SortingObjectsWithDigitField());
new NewClass(listTwo,listOne);
}
}
答案 0 :(得分:2)
您的列表是Element
个对象的列表。您正在寻找整数0的索引。整数永远不会等于Element
,因此indexOf()
找不到0并返回-1表示找不到它。