我不断收到以下错误消息
File: C:\Users\jiangbuyun\Desktop\p5\p5pack\P5Tests.java [line: 1084]
Failure: java.lang.AssertionError: expected: java.util.Arrays$ArrayList<[A:X, B:X, C:X]> but was: java.util.ArrayList<[A:X, B:X, C:X]>
Run Code Online (Sandbox Code Playgroud)
我有一堂课叫电路。这是一些领域。
private List<Contact> inputs, outputs;
private List<Wire> innerWires;
Run Code Online (Sandbox Code Playgroud)
这就是我获取输入的方法
public void parseContactsLine(String line){
Scanner sc = new Scanner(line);
int i=0; //token's position
while (! sc.hasNext("->")){
Wire w = new Wire (sc.next());
innerWires.add(w);
Contact c = new Contact(innerWires.get(i),innerWires.get(i),true);
inputs.add(c);
i++;
}
Run Code Online (Sandbox Code Playgroud)
我的测试用例:
public void circuit_parseContactsLine1(){
List<Contact> empty = Arrays.asList(new Contact[]{});
assertEquals(empty, vanillaCircuit.getInputs());
assertEquals(empty, vanillaCircuit.getOutputs());
List<Contact> ins = Arrays.asList(new Contact[]{
new Contact(new Wire("A"), new Wire("A"), true), …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以比较一个数组和一个数组列表,比如
if (array[0]==arraylist[0])
Run Code Online (Sandbox Code Playgroud)
我正在解决这个问题:
String[] s= {"a","a","b","b","b","c"};
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
// create a new arraylist that stores the frequency of each character.
// For example, "a" appears twice in s, so newArrayList[0]=2; "b" appears
// three times, so newArrayList[1]=3, and so on.
Run Code Online (Sandbox Code Playgroud)
我的想法是使用循环来扫描字符串数组,并且每次当其中的字母等于列表中的字母时,int count++。但我不知道如何比较数组中的内容和数组列表中的内容。
我有一个Shape类,在这个类中有一个叫做的方法getRepr()可以得到char一个形状的表示.例如,
ShapeA.getRepr() ->'a'
ShapeB.getRepr() ->'b'
ShapeC.getRepr() ->'c'
Run Code Online (Sandbox Code Playgroud)
现在我有一个ArrayList存储几个形状,包括ShapeE,ShapeA,ShapeD,ShapeC,和ShapeB.
现在的问题是我如何使用Collections.sort(),以字母顺序重新排列这些形状在ArrayList根据自己的char陈述?
预期的结果在这个ArrayList排序后应ShapeA,ShapeB,ShapeC,ShapeD,ShapeE.
或者有没有办法达到这个目的没有Collections.sort()?