创建这两个对象有什么区别
Queue<String> test = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)
和
List<String> test2 = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)
test和之间的实际差异是test2什么?他们俩都是LinkedList?是否存在使用其中一个的性能差异或原因?
当我尝试将双数组转换为Double arrayList时,我收到以下错误:
线程"main"中的异常java.lang.ClassCastException:[D无法强制转换为java.lang.Double
以下是我的代码.
double [] firstValueArray ;
Run Code Online (Sandbox Code Playgroud)
ArrayList <Double> firstValueList = new ArrayList (Arrays.asList(firstValueArray));
我将此列表与另一个列表进行比较,并将结果分配给另一个双变量.
请让我知道此错误的原因.
我有一个逗号分层字符串,在调用String.split(",")它时返回一个大约60的数组大小.在特定的用例中,我只需要获取将从数组返回的第二个值的值.因此,例如"Q,BAC,233,sdf,sdf,"我想要的是第一个之后','和第二个之后的字符串的值','.我对性能的问题是我最好使用子字符串或使用split方法解析它,然后获取数组中的第二个值?任何输入将不胜感激.这种方法每秒会被调用数百次,因此我理解有关性能和内存分配的最佳方法非常重要.
-Duncan
这是我想要问的一个例子
超类Name.java
public class Name{
protected String first;
protected String last;
public Name(String firstName, String lastName){
this.first = firstName;
this.last = lastName;
}
public String initials(){
String theInitials =
first.substring(0, 1) + ". " +
last.substring(0, 1) + ".";
return theInitials;
}
Run Code Online (Sandbox Code Playgroud)
然后子类是ThreeNames.java
public class ThreeNames extends Name{
private String middle;
public ThreeNames(String aFirst, String aMiddle, String aLast){
super(aFirst, aLast);
this.middle = aMiddle;
}
public String initials(){
String theInitials =
super.first.substring(0, 1) + ". " +
middle.substring(0, 1) + ". …Run Code Online (Sandbox Code Playgroud) 另一个大O符号问题...对于代码的大O是什么:
for (int i = n; i > 0; i = i / 2){
for (int j = 0; j < n; j++){
for (int k = 0; k < n; k++){
count++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的想法:所以打破它,我认为外部循环是O(log2(n)),然后每个内部循环O(n)将导致O(n^2 * log2(n)) 问题#1是正确的?
问题2:当组合嵌套循环时,它总是像每个循环的大O一样简单吗?
所以我想在java中使用对象的arraylist.
我有object1.number和object2.number,object3.number等等......但这些对象除了具有其他属性number,如name,distance等...
因此,如果它正在对一个字符串进行排序array,那么就把它放在一个字符串中,temporal然后让另一个字符串代替它......但是在一个araryList对象中,我该怎么做呢?
我可以将对象移动到数组的那个位置吗?
谢谢.
Big O表示法对于以下嵌套循环有什么作用?
for (int i = n; i > 0; i = i / 2){
for (int j = n; j > 0; j = j / 2){
for (int k = n; k > 0; k = k / 2){
count++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的想法是:每个循环都是O(log2(n))如此简单到繁殖
O(log2(n)) * O(log2(n)) * O(log2(n)) = O(log2(n)^3)
Run Code Online (Sandbox Code Playgroud) class Test{
public static void main(String[] args){
int a = 1;
int b = 5;
Integer c = new Integer(1);
Integer d = 5; //autoboxing at work
System.out.println(c.compareTo(d));
System.out.println(a.compareTo(b));
}
}
Run Code Online (Sandbox Code Playgroud)
为什么不a.compareTo(b)编译(int cannot be dereferenced)?我知道compareTo需要的对象,但我认为自动装箱会自动作出int的Integer必要时.为什么在这种情况下不会发生自动装箱?还有什么其他情况不会发生?
我正在尝试简化Card类,我想知道是否有任何方法可以在switch语句中使用一系列值?
考虑:
if((card<14))
suit="Hearts";
else
if((card>14)&&(card<27))
suit="Clubs";
etc.
Run Code Online (Sandbox Code Playgroud)
相反,我想使用switch语句,例如:
switch(card){
case1: through case13:
suit="Hearts";
break;
etc.
Run Code Online (Sandbox Code Playgroud)
我无法在Java教程中找到任何表明存在切换变化的内容.但是有吗?
java ×10
arraylist ×2
big-o ×2
int ×2
loops ×2
nested-loops ×2
arrays ×1
autoboxing ×1
collections ×1
compareto ×1
linked-list ×1
list ×1
memory ×1
methods ×1
object ×1
polymorphism ×1
queue ×1
sorting ×1
string ×1
subclass ×1