我对Java比较陌生,我只想确保正确地获得基本概念.所以我的问题是hashmap与2d数组的不同之处.我将举例说明,如果我错了,有人可以纠正我,那将是很好的.所以
与hashmap相比,您无法直接访问/更改第2个数组的第1个数组.因此,例如,如果你有arr [2] [5]第一个arr [2]你不能将它改为其他东西.换句话说,如果我们有int arr [2] [2]你不能改变它说arr [汽车] [2]而你可以使用hashmap.你根本无法访问它,而你可以使用hashmap.如果你有地图马丁,25你可以很容易地把它变成乔,22.
您可以在第一个值的hashmap中轻松搜索.如果你想从上一个例子中找到马丁的年龄,你可以轻松地搜索马丁,并且将出现25岁.
我被教导过2d数组代表一个表.就像是.
ARR [2] [3]
但实际上你不能在[]网格外访问/更改1和2.这应该只是作为一个想象的帮助来说明2d数组的概念.
如果我错了,请你纠正我,或者对此作出任何补充评论.
谢谢
有人可以解释一下为什么这段代码片段有效吗?
Object[] op = new Object[0];
ArrayList r = new ArrayList();
r.add("1");
r.add("3");
r.add("5");
r.add("6");
r.add("8");
r.add("10");
op = r.toArray();
System.out.println(op[3]);
Run Code Online (Sandbox Code Playgroud)
这打印出6.我知道你可以将列表转换为数组,但我想如果数组是固定大小,那么你不能添加更多的元素.在这种情况下,数组op的大小固定为"0",那么为什么/如何将列表元素添加到数组?谢谢
任何人都可以解释为什么下面的代码不起作用:
public static void main(String[] args) throws IOException
{
Comparable<Integer> q = new Integer(4);
Comparable<Integer> o = new Integer(4);
// Problematic line
int j = o.compareTo(q);
if (j == -1)
System.out.println("yes");
else
System.out.println("no");
}
Run Code Online (Sandbox Code Playgroud)
但是这个有效:
public static void main(String[] args) throws IOException
{
Integer q = new Integer(4);
Integer o = new Integer(4);
// Problematic line
int j = o.compareTo(q);
if (j == -1)
System.out.println("yes");
else
System.out.println("no");
}
}
Run Code Online (Sandbox Code Playgroud)
换句话说,什么时候接口实现是可以互换的,而不是创建普通的类实例?当我使用compareTo()方法时出现错误,该方法是Comparable接口的一部分,并由所有Wrapper类(如Integers)实现.
所以我猜Comparable<Integer> q = new Integer(4); …
如果你有类似的东西
d1 = 5, d4 = 4
Run Code Online (Sandbox Code Playgroud)
然后调用该函数
min(d1, d4)
Run Code Online (Sandbox Code Playgroud)
你怎么能输出d4
而不是4
?换句话说,我想从最小值的最小函数而不是值本身输出变量或索引?
我不知道它是否可能,但我有一个由许多值组成的列表
list = ["0.75543 blue", "0.5454 red", "0.113424 blue", "0.9993233 red" and so on] and so on.
Run Code Online (Sandbox Code Playgroud)
换句话说,我的值介于0和1之间,两个标签为蓝色和红色.当我单击array.sort()
它时不会正确排序它们,因为列表中的值是字符串.我希望能够仅根据值正确地对列表进行排序(独立于标签).那可能吗?