最近我问了一个关于SO的问题,提到了c#ArrayList可能用于解决方案.有人评论说使用arraylist是不好的.我想更多关于这一点.我之前从未听过关于arraylists的声明.sombody让我快速了解使用arraylists可能出现的性能问题
C#.达网络-2-
问题是从HashMap.values()集合创建ArrayList需要多少钱?或者单独创建值Collection?假设Map.size()> 100k.对象也可以一直保存在ArrayList(而不是HashMap)中,这对其他部分有影响(元素的修改,易于按键).ArrayList用于迭代每个第n个元素.(这就是为什么不能直接使用值集合的原因).在迭代期间不进行任何修改.
我想将两个ArrayList合并为一个.
我的第一个arraylist看起来像这样:
{a,s,d,f,g,h,......}
Run Code Online (Sandbox Code Playgroud)
我的第二个arraylist看起来像这样:
{z,x,c,v,b,.....}
Run Code Online (Sandbox Code Playgroud)
然后我想把两者结合起来
{a,s,d,f,g,h,.....,z,x,c,v,b.....}
Run Code Online (Sandbox Code Playgroud)
第一个清单是
ArrayList<String> firstname1 = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
第二个列表的位置为
ArrayList<String> first = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
现在我想将所有这些组合在一起,我希望它在列表视图中列出.这该怎么做?
我熟悉我可以在数组中获取元素位置的方法,尤其是这里显示的元素位置:数组中的元素位置
但我的问题是我无法弄清楚如何转换此代码以满足我的需求.
我想检查的是String中是否有一个匹配的ArrayList,如果是,那么ArrayList中String的索引是什么.
烦人的部分是我设法验证String在ArrayList中(参见我的代码的第一行)
listPackages是ArrayList
current_package是我想在listPackages中找到它的位置的String.
这是我的代码:
if (listPackages.contains(current_package)) {
int position = -1;
for(int j = 0; j < listPackages.size(); j++) {
if(listPackages[j] == current_package) {
position = j;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助!
谢谢!
我所拥有的是一个HashMap<String, ArrayList<String>>叫做的examList.我想用它来保存一个人参加的每门课程的成绩.所以关键HashMap在于couresID,ArrayList这个人所做的所有等级(考试尝试)都是有价值的.
问题是我知道如何正常使用数组列表和哈希映射,但我不知道如何开始这个例子.那么我怎么样,或者例如,在ArrayList里面添加一些东西HashMap?
我正在尝试按照得分属性的值来对我的自定义类染色体进行排序.这些染色体存储在ArrayList中.我知道我必须使用比较器,但我在最后一小时在线阅读了很多不同的意见,我完全感到困惑.
附上我的代码,如果有人能指出我正确的方向,我将不胜感激.
public class Chromosome
{
public Gene[] genes;
public double score;
public Chromosome(int l)
{
genes = new Gene[l];
}
public int getLength()
{
return genes.length;
}
public void printChromo()
{
for(int i=0;i<this.genes.length;i++)
{
System.out.println(""+this.genes[i].teacher+","+
this.genes[i].lecture+","+
this.genes[i].room+","+
this.genes[i].time+"");
}
}
public void setScore(double score)
{
this.score=score;
}
public double getScore()
{
return this.score;
}
}
Run Code Online (Sandbox Code Playgroud)
不知道这有什么不同,但得分只能是0.0到1.0之间的两倍
对于一个实验,我做了这个小程序.它只生成1000万个随机字符串并将它们添加到arraylist中.请注意,ArrayList中并没有有一个初步的能力.
// editors note: added the necessary boilerplate to run,
// and take initial capacity as an optional cmdline arg for easier testing
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
class ArrayListTest {
public static void main(String[] args)
{
int initsize = -1;
if (args.length > 0) {
initsize = Integer.parseInt(args[0]);
}
long startTime = System.currentTimeMillis();
List<String> randNums = initsize>=0 ? new ArrayList<>(initsize) : new ArrayList<>();
// final List<String> randNums = initsize>=0 ? new ArrayList<String>(initsize) : new ArrayList<String>();
Random …Run Code Online (Sandbox Code Playgroud) C#,String的Split()方法,如何将结果字符串[]放入ArrayList或Stack?
参数(int initialCapacity)中的含义是什么ArrayList,我认为它是元素的数量,但是当我这样做时它不起作用:
public class MyClass {
private ArrayList<Integer> arr;
public MyClass(int n_elements) {
arr = new ArrayList<Integer>(n_elements);
}
}
Run Code Online (Sandbox Code Playgroud) 我想ArrayList使用布尔类型对我进行排序.基本上我想首先显示条目true.这是我的代码如下:
Abc.java
public class Abc {
int id;
bool isClickable;
Abc(int i, boolean isCl){
this.id = i;
this.isClickable = iCl;
}
}
Run Code Online (Sandbox Code Playgroud)
Main.java
List<Abc> abc = new ArrayList<Abc>();
//add entries here
//now sort them
Collections.sort(abc, new Comparator<Abc>(){
@Override
public int compare(Abc abc1, Abc abc2){
boolean b1 = abc1.isClickable;
boolean b2 = abc2.isClickable;
if (b1 == !b2){
return 1;
}
if (!b1 == b2){
return -1;
}
return 0;
}
});
Run Code Online (Sandbox Code Playgroud)
排序前的顺序:true true true false false false …