Java 如何将数据从数组列表设置到另一个数组

Java 如何将数据从数组列表设置到另一个数组,java,arrays,arraylist,data-structures,collections,Java,Arrays,Arraylist,Data Structures,Collections,我在Android应用程序中工作,我在寻找如何在for循环之后显示数组列表的结果,我想在转换函数(BCD到整数)之后在另一个列表视图中设置每个值(heure,minute…)。谢谢你的帮助 Integer[] array = {heure, minute, seconde, jour, mois, year}; ArrayList<Integer> list = new ArrayList<>(); /*Collections.addAll(list, a

我在Android应用程序中工作,我在寻找如何在for循环之后显示数组列表的结果,我想在转换函数(BCD到整数)之后在另一个列表视图中设置每个值(heure,minute…)。谢谢你的帮助

Integer[] array = {heure, minute, seconde, jour, mois, year};
    ArrayList<Integer> list = new ArrayList<>();
    /*Collections.addAll(list, array);*/
    for (int value : list) {
        temp = value;
        temp >>= 4;
        result = temp * 10;
        temp = value & 0b00001111;
        result += temp;
        this.total= result;
        list.add(this.total);
    }
    tvGetdata.setText(list.toString());
Integer[]数组={heure,minute,seconde,jour,mois,year};
ArrayList=新建ArrayList();
/*Collections.addAll(列表、数组)*/
for(int值:列表){
温度=值;
温度>>=4;
结果=温度*10;
温度=值&0b00001111;
结果+=温度;
这个。总数=结果;
列表.添加(此.总计);
}
tvGetdata.setText(list.toString());

您有点误用了这两种数据结构

  • 数组
    是一个固定长度的项目列表

    • 只要有一组固定的值要处理,就可以使用它
  • 列表
    是一个项目列表,它(至少在标准实现中)总是试图根据项目的数量调整其容量

    • 只要您需要比
      数组更具动态性的东西,就可以使用它
因此,总之,通过将它们的用法转换为结构,您将获得更好的结果(您将在下面了解原因)

//我们确切地知道初始输入,因此可以在这里使用数组
整数[]数组={heure,minute,seconde,jour,mois,year};
//我们不知道有多少项目将进入这里,所以我们现在使用一个列表
ArrayList=新建ArrayList();
//您可以在数组上循环,就像在列表上循环一样
for(int值:数组){
//TODO执行计算并将其保存在此.result中
//ArrayList提供了这个简洁实用程序来添加元素
//如果需要,它将自动增加其容量
列表.添加(此.结果);
}
tvGetdata.setText(list.toString());

当然,您可以用另一个
列表
替换
数组
变量,并将
列表
中的元素设置为
列表
。基本构造是一样的。

您正在空列表上使用foreach。 所以你的代码会忽略它。 请尝试使用您的阵列

Integer[] array = {heure, minute, seconde, jour, mois, year};
ArrayList<Integer> list = new ArrayList<>();
for (int value : array) {
    temp = value;
    temp >>= 4;
    result = temp * 10;
    temp = value & 0b00001111;
    result += temp;
    this.total= result;
    list.add(this.total);
}
tvGetdata.setText(list.toString());
Integer[]数组={heure,minute,seconde,jour,mois,year};
ArrayList=新建ArrayList();
for(int值:数组){
温度=值;
温度>>=4;
结果=温度*10;
温度=值&0b00001111;
结果+=温度;
这个。总数=结果;
列表.添加(此.总计);
}
tvGetdata.setText(list.toString());

您能更具体地说明您的实际问题是什么或您被困在哪里吗?我想显示在另一个ArrayListu中转换的每个值,但它显示的是空列表,没有插入值!它总是显示去年的数据,而不是6年的数据。不知道会出什么问题,它适合我。你能展示一下你是如何实现我的示例的吗?例如,通过编辑你的问题?@D.g你是在空的
列表
,而不是填充的
数组
。@Izuro对不起,我不明白你的意思:/
Integer[] array = {heure, minute, seconde, jour, mois, year};
ArrayList<Integer> list = new ArrayList<>();
for (int value : array) {
    temp = value;
    temp >>= 4;
    result = temp * 10;
    temp = value & 0b00001111;
    result += temp;
    this.total= result;
    list.add(this.total);
}
tvGetdata.setText(list.toString());