一个关于list的问题

mengmingtao mengmingtao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在这个程序里。
首先建立了一个数组(1,2,0,2,1,0)。
然后建立一个list,并将数组的非0元素加入list。于是list(1,2,2,1)

我然后想把list中元素重新拷贝到数组的非0位置。按照我的想发,数组和list的内容本应不会有变化的。
可是却发现得到了这样一个输出,无论是数组还是list都改变了。
望大神们不吝赐教~

程序如下:
/*
* temp:
* 1 2 2 1
* bitmaps
* 1 2 0 2 1 0
* ---------changed--------
* temp
* 2 2 2 2
* bitmaps
* 1 1 0 1 1 0
*/

import java.util.*;
import java.awt.*;

public class MainTest{
public static void main(String[] args){
int[] bitmaps = new int[6];
bitmaps[0] = 1;
bitmaps[1] = 2;
bitmaps[2] = 0;
bitmaps[3] = 2;
bitmaps[4] = 1;
bitmaps[5] = 0;

ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<bitmaps.length;i++){
int index = 0;
if(bitmaps[i]!=0){
list.add(index,bitmaps[i]);
index++;
}
}

System.out.println("temp:");
for(int i=0;i<list.size();i++){
System.out.print(" "+list.get(i));
}
System.out.println("");

System.out.println("bitmaps");
for(int i=0;i<bitmaps.length;i++){
System.out.print(" "+bitmaps[i]);
}
System.out.println("");

System.out.println("---------changed--------");

System.out.println("temp");
for(int i=0;i<bitmaps.length;i++){
int j = 0;
if(bitmaps[i]!=0){
bitmaps[i] = list.get(j);
j++;
System.out.print(" "+list.get(j));
}
}
System.out.println("");

System.out.println("bitmaps");
for(int i=0;i<bitmaps.length;i++){
System.out.print(" "+bitmaps[i]);
}
System.out.println("");
}
}
...全文

相关推荐

linked_list:一个星期的问题

对于这个"linked_list:一个星期的问题",可能涵盖了一些常见链表问题的解决方案,例如:- 链表的反转- 删除链表的倒数第N个节点- 检查链表中是否有环- 合并两个排序的链表- 判断链表的长度-

香港键师傅

使用Volley来写一个List列表(解决中文乱码问题)

在处理包含中文内容的网络请求时,可能会遇到乱码问题,这通常是因为编码设置不正确导致的。本篇文章将详细介绍如何使用Volley来创建一个显示中文内容的List列表,并解决中文乱码的问题。

移动爱好者

RecyclerviewLoadLists:一个Recyclerview加载多个list数据。多布局呈现,完美解决多层嵌套list数据的问题

本项目“RecyclerviewLoadLists”专注于解决在RecyclerView中加载多个列表数据以及处理多层嵌套list数据的问题,提供了一种优雅的解决方案。1.

PeterLee龍羿學長

list-change-and-binding-issues:在此存储库中,您将找到一个简单的应用程序(带有GUI),该应用程序可可视化有关绑定和列表属性更改的问题

列表更改和绑定问题在此存储库中,您将找到一个简单的应用程序(带有GUI),该应用程序可视化有关绑定和列表属性更改的问题。 在list_bindings包中,您将找到一个启动列表绑定应用程序的AppSt

仰光的瑞哥

解决JAVA遍历List集合,删除数据时出现的问题

例如,在遍历List集合时,我们删除了第一个元素,那么第二个元素就会移动到第一个位置,但是如果我们继续执行迭代操作,那么第二个元素就不会被处理。

weixin_38717843
评论 2
收藏 已收藏
分享
返回顶部
mengmingtao
Java SE 62,620 成员 307,251 内容