Java 在单个索引的ArrayList中添加多个值
我在java中有一个类似这样的双Java 在单个索引的ArrayList中添加多个值,java,android,arraylist,Java,Android,Arraylist,我在java中有一个类似这样的双ArrayList List<double[]> values = new ArrayList<double[]>(2); 我该怎么做呢?改用二维数组。例如,int值[][]=newint[2][5]数组速度更快,当你不需要太多的操作时。@Ahamed有一个道理,但是如果你坚持使用列表,那么你可以有三个这样的数组列表: ArrayList<Integer> first = new ArrayList<Integer>
ArrayList
List<double[]> values = new ArrayList<double[]>(2);
我该怎么做呢?改用二维数组。例如,
int值[][]=newint[2][5]代码>数组速度更快,当你不需要太多的操作时。@Ahamed有一个道理,但是如果你坚持使用列表,那么你可以有三个这样的数组列表:
ArrayList<Integer> first = new ArrayList<Integer>(Arrays.AsList(100,100,100,100,100));
ArrayList<Integer> second = new ArrayList<Integer>(Arrays.AsList(50,35,25,45,65));
ArrayList<Integer> third = new ArrayList<Integer>();
for(int i = 0; i < first.size(); i++) {
third.add(first.get(i));
third.add(second.get(i));
}
ArrayList first=新的ArrayList(Arrays.AsList(100100));
arraylistsecond=新的ArrayList(Arrays.AsList(50,35,25,45,65));
ArrayList third=新的ArrayList();
对于(int i=0;i
编辑:
如果您的列表中有以下值:
List<double[]> values = new ArrayList<double[]>(2);
列表值=新的ArrayList(2);
你要做的是把它们结合起来,对吗?您可以尝试以下方法:
(我假设两个数组的大小相同,否则需要使用两个for语句)
ArrayList yourray=new ArrayList();
for(int i=0;i
ArrayList arrObjList=new ArrayList();
ArrayList arrObjInner1=新的ArrayList();
1.加入(100);
1.加入(100);
1.加入(100);
1.加入(100);
arrObjList.add(arrObjInner1);
在arrObjList
中可以有任意多个ArrayList
。我希望这对你有帮助。怎么样
首先将所需结果添加为arraylist,然后
并根据需要转换为双数组
像这样试试
import java.util.ArrayList;
import java.util.List;
public class ArrayTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// Your Prepared data.
List<double[]> values = new ArrayList<double[]>(2);
double[] element1 = new double[] { 100, 100, 100, 100, 100 };
double[] element2 = new double[] { 50, 35, 25, 45, 65 };
values.add(element1);
values.add(element2);
// Add the result to arraylist.
List<Double> temp = new ArrayList<Double>();
for(int j=0;j<values.size(); j++) {
for (int i = 0; i < values.get(0).length; i++) {
temp.add(values.get(0)[i]);
temp.add(values.get(1)[i]);
}
}
// Convert arraylist to int[].
Double[] result = temp.toArray(new Double[temp.size()]);
double[] finalResult = new double[result.length]; // This hold final result.
for (int i = 0; i < result.length; i++) {
finalResult[i] = result[i].doubleValue();
}
for (int i = 0; i < finalResult.length; i++) {
System.out.println(finalResult[i]);
}
}
}
import java.util.ArrayList;
导入java.util.List;
公共类阵列测试{
/**
*@param args
*/
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
//你准备好的数据。
列表值=新的ArrayList(2);
double[]element1=新的double[]{100100100100100};
双[]元素2=新的双[]元素{50,35,25,45,65};
添加(元素1);
添加(元素2);
//将结果添加到arraylist。
List temp=new ArrayList();
对于(int j=0;j创建一个简单的方法来为您执行此操作:
public void addMulti(String[] strings,List list){
for (int i = 0; i < strings.length; i++) {
list.add(strings[i]);
}
}
并使用此方法将其添加到列表中。import java.util.*;
import java.util.*;
public class HelloWorld{
public static void main(String []args){
List<String> threadSafeList = new ArrayList<String>();
threadSafeList.add("A");
threadSafeList.add("D");
threadSafeList.add("F");
Set<String> threadSafeList1 = new TreeSet<String>();
threadSafeList1.add("B");
threadSafeList1.add("C");
threadSafeList1.add("E");
threadSafeList1.addAll(threadSafeList);
List mainList = new ArrayList();
mainList.addAll(Arrays.asList(threadSafeList1));
Iterator<String> mainList1 = mainList.iterator();
while(mainList1.hasNext()){
System.out.printf("total : %s %n", mainList1.next());
}
}
}
公共类HelloWorld{
公共静态void main(字符串[]args){
List-threadSafeList=new-ArrayList();
螺纹安全列表。添加(“A”);
螺纹安全列表。添加(“D”);
螺纹安全列表。添加(“F”);
设置threadSafeList1=新树集();
螺纹安全列表1.添加(“B”);
螺纹安全列表1.添加(“C”);
螺纹安全列表1.添加(“E”);
threadSafeList 1.addAll(threadSafeList);
List mainList=new ArrayList();
addAll(Arrays.asList(threadSafeList1));
迭代器mainList1=mainList.Iterator();
while(mainList1.hasNext()){
System.out.printf(“总计:%s%n”,mainList1.next());
}
}
}
您可以传递一个对象,该对象引用特定索引中的所有值
import java.util.ArrayList;
public class HelloWorld{
public static void main(String []args){
ArrayList<connect> a=new ArrayList<connect>();
a.add(new connect(100,100,100,100,100));
System.out.println(a.get(0).p1);
System.out.println(a.get(0).p2);
System.out.println(a.get(0).p3);
}
}
class connect
{
int p1,p2,p3,p4,p5;
connect(int a,int b,int c,int d,int e)
{
this.p1=a;
this.p2=b;
this.p3=c;
this.p4=d;
this.p5=e;
}
}
依此类推。首先,你的目标是创建一个多级数组,还是违反了ArrayList的目的?如果是前者,你可以有一个ArrayList
;如果是后者,你应该重新考虑为什么要在这里使用列表。我需要使用列表,因为我需要将它传递给AChartENGINE来绘制图形。顺便说一下,你可以告诉我如何使用arraylist:)问题是我没有这些硬编码值,我的double[]array.thanx谢谢你的帮助。我让它工作了,我的解决方案几乎与你的类似:)很高兴听到@Java.初学者:)你给出了一个很好的例子,你检查过它是否编译了吗?我还没有写完整的代码,ArrayList声明将在main()中它在一个单独的类中。connect
方法没有返回类型。它是否编译?如果签名没有返回任何内容,则应在签名中添加void
。此外,按照惯例,Java类以大写字母开头。
public void addMulti(String[] strings,List list){
for (int i = 0; i < strings.length; i++) {
list.add(strings[i]);
}
}
String[] wrong ={"1","2","3","4","5","6"};
import java.util.*;
public class HelloWorld{
public static void main(String []args){
List<String> threadSafeList = new ArrayList<String>();
threadSafeList.add("A");
threadSafeList.add("D");
threadSafeList.add("F");
Set<String> threadSafeList1 = new TreeSet<String>();
threadSafeList1.add("B");
threadSafeList1.add("C");
threadSafeList1.add("E");
threadSafeList1.addAll(threadSafeList);
List mainList = new ArrayList();
mainList.addAll(Arrays.asList(threadSafeList1));
Iterator<String> mainList1 = mainList.iterator();
while(mainList1.hasNext()){
System.out.printf("total : %s %n", mainList1.next());
}
}
}
import java.util.ArrayList;
public class HelloWorld{
public static void main(String []args){
ArrayList<connect> a=new ArrayList<connect>();
a.add(new connect(100,100,100,100,100));
System.out.println(a.get(0).p1);
System.out.println(a.get(0).p2);
System.out.println(a.get(0).p3);
}
}
class connect
{
int p1,p2,p3,p4,p5;
connect(int a,int b,int c,int d,int e)
{
this.p1=a;
this.p2=b;
this.p3=c;
this.p4=d;
this.p5=e;
}
}
a.get(0).p1;
a.get(0).p2;
a.get(0).p3;.............