吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2187|回复: 8
收起左侧

[求助] JAVA数组复制的问题

[复制链接]
头像被屏蔽
沐雨红尘 发表于 2020-9-6 11:41
提示: 作者被禁止或删除 内容自动屏蔽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wereader 发表于 2020-9-6 12:19
[Java] 纯文本查看 复制代码
int [] arr={1,2,3};
        int [] arr2=new int[9];
        System.arraycopy(arr,0,arr2,0,3);
        System.arraycopy(arr,0,arr2,3,3);
        System.arraycopy(arr,0,arr2,6,3);
古月不傲 发表于 2020-9-6 12:25
本帖最后由 古月不傲 于 2020-9-6 12:38 编辑

copy.png
没学过jave不清楚 不过跟c++类似 肯定有array容器和copy算法。
阿政0506 发表于 2020-9-6 12:48
本帖最后由 阿政0506 于 2020-9-6 12:53 编辑

[Java] 纯文本查看 复制代码
class Demo{
        public static void main(String[] args){
                int [] a = {1,2,3};
                int []arr = m1(a,3);
        }
        public static int [] m1(int a[],int num){
                int [] arr = new int[a.length*num];
                for(int i = 0;i< arr.length;i++){
                        if(i>= a.length){
                                arr[i] = a[i%a.length];
                        }else{
                                arr[i] = a[i];
                        }
                        System.out.println(arr[i]);
                }
                return arr;
        }
        
}
Vvvvvoid 发表于 2020-9-6 13:03
本帖最后由 Vvvvvoid 于 2020-9-6 13:13 编辑

[Java] 纯文本查看 复制代码
Integer [] arr = {1,2,3};
List<Integer> result = new ArrayList<Integer>();
Collections.addAll(result, arr);
Collections.addAll(result, arr);
Collections.addAll(result, arr);

System.out.println(result);
Crazy开发仔 发表于 2020-9-6 13:12
    public static void main(String[] args){
        Integer[] array = new Integer[]{1,2,3};
        List<Integer> list = new ArrayList<Integer>();
        list.addAll(Arrays.asList(array));
        list.addAll(Arrays.asList(array));
        list.addAll(Arrays.asList(array));
        array = list.toArray(array);
    }
头像被屏蔽
 楼主| 沐雨红尘 发表于 2020-9-7 23:21
提示: 作者被禁止或删除 内容自动屏蔽
homurachyan 发表于 2020-9-12 16:23
=
[Java] 纯文本查看 复制代码
	public static void main(String[] args) {
		int [] a = {1,2,3};
		System.out.println(JSON.toJSONString(copyArrry(a,3)));
	}
	/**
	 * [url=home.php?mod=space&uid=952169]@Param[/url] a 
	 * 			要复制的数组
	 * @param num
	 * 			复制次数
	 * 
	 * */
	public static Integer[] copyArrry(int[] a, int num) {
		List<Integer> list = Ints.asList(a);
		List<Integer> copyList = new ArrayList<>();
		for (int i = 0; i < num; i++) {
			copyList.addAll(list);
		}
		return copyList.toArray(new Integer[copyList.size()]);
	}
	


可支持多次复制
阿政0506 发表于 2020-9-14 18:49
沐雨红尘 发表于 2020-9-7 23:21
你这个代码能推广到复制N份吗

是啊,我写的方法,填入要复制的数组和份数就可以了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 01:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表