我怎么排序的ArrayList的String在长度的字符串顺序Groovy的?
码:
def words = ['groovy', 'is', 'cool']
// your code goes here:
// code that sorts words in ascending length-of-word order
assert words == ['is', 'cool', 'groovy']
Run Code Online (Sandbox Code Playgroud)
肯定有不止一种方法可以做到 - 所以我会给那些提供最优雅解决方案的人一个答案.
我一直在考虑阅读和阅读,但可以找到绝对权威的答案.
我有几个深层数据结构,由包含ArrayLists,Strings和原始值的对象组成.我可以保证这些结构中的数据不会改变(没有线程会对列表进行结构更改,更改引用,更改基元).
我想知道在这些结构中读取数据是否是线程安全的; 即从对象递归读取变量是否安全,迭代ArrayLists等以从多个线程中的结构中提取信息而不同步?
很多人和作者建议我们使用list而不是array.
List <Integer> list = new ArrayList<Integer>();
list.addElement(1);
....
Run Code Online (Sandbox Code Playgroud)
它背后的原因是什么?
我正在尝试一下gamestudio.我现在正在拍摄射击游戏.我有一个指针指向敌人的阵列.我想要.当敌人被杀时 将他从列表中删除.而且我也想创造新的敌人.
Gamestudio使用名为lite-C的脚本语言.它具有与C相同的语法,并且在他们说的网站上,它可以使用任何C编译器进行编译.它是纯C,没有C++或其他任何东西.
我是C的新手.我通常使用.NET语言和一些脚本语言编程,
嗨,我想Arraylist从一个传递activity到另一个.我使用putStringArrayListExtra(),但显示错误:"The method putStringArrayListExtra(String,ArrayList is undefined for the type bundle."是否有其他方法可用于传递ArrayList?
String test[]=new String[3];
ArrayList<String[]> al=new ArrayList<String[]>();
int x,y;
test[0]="1";
test[1]="2";
test[2]="3";
al.add(test);
test = new String[3];
test[0]="4";
test[1]="5";
test[2]="6";
al.add(test);
Bundle list_bundle=new Bundle();
list_bundle.putStringArrayListExtra("lists",al);
Intent list_intent= new Intent(v.getContext(), view_all_selected.class);
list_intent.putExtras(list_bundle);
startActivityForResult(list_intent, 2);
Run Code Online (Sandbox Code Playgroud) 我在Groovy中有两个列表,需要对两者的内容求和.
例如:
list1 = [1,1,1]
list2 = [1,1,1]
Run Code Online (Sandbox Code Playgroud)
我期待这个结果:
total = [2,2,2]
Run Code Online (Sandbox Code Playgroud)
我尝试用+运算符o .sum方法求和,但我有一个列表的串联.
[1, 1, 1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)
这是Groovy足够groovy还是我需要循环列表的每个元素?
声明集合的区别是什么
public class CatHerder{
private List cats;
public CatHerder(){
this.cats = new ArrayList<Cat>();
}
}
//or
public class CatHerder{
private ArrayList cats;
public CatHerder(){
this.cats = new ArrayList();
}
}
//or
public class CatHerder{
private ArrayList<Cat> cats;
public CatHerder(){
this.cats = new ArrayList<Cat>();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个字符串的数组列表(数组列表中的每个单独的元素只是一个没有空格的单词),我想取每个元素并将每个下一个单词附加到字符串的末尾.
所以说数组列表有
element 0 = "hello"
element 1 = "world,"
element 2 = "how"
element 3 = "are"
element 4 = "you?"
Run Code Online (Sandbox Code Playgroud)
我想创建一个名为句子的字符串,其中包含"hello world,你好吗?"
让我们说我上课了
public class Data{
public int k;
public int l;
public Data(int k, int l){
this.k = k;
this.l = l;
}
public boolean equals(Date m){
if(this.k == m.k && this.l = m.l)
return true;
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我向ArrayList添加了一些Data对象:
ArrayList<Data> holder = new ArrayList<Data>;
Data one = new Data(0,0);
Data two = new Data(0,4);
Data three = new Data(0,5);
Run Code Online (Sandbox Code Playgroud)
为什么indexOf找不到这个?:
holder.indexOf(new Data(0,4)); //returns -1
Run Code Online (Sandbox Code Playgroud)
indexOf是否比自己遍历整个数组列表更好?或者我错过了什么.
在处理时ArrayList,我发现在使用构造函数设置了数组的初始大小之后initialCapacity,set()尽管创建了数组,但是使用将抛出异常,但是未正确设置大小.
使用ensureCapacity()将无法工作,因为它基于elementData数组而不是size.
还有其他副作用静态的,因为DEFAULT_CAPACITY用ensureCapacity().
使这项工作的唯一方法是在使用构造函数后使用add()尽可能多的时间.
请检查以下代码.
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List test = new ArrayList(10);
test.set(5, "test");
System.out.println(test.size());
}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么java会抛出这个异常.
我期望的行为:test.size()应该返回10并且设置(5,...)应该工作.
实际:抛出异常IndexOutOfBoundsException.
那么导致问题的set方法是什么?