From 6ddcf955f75f4e4aa5be991abd21a950feb511f2 Mon Sep 17 00:00:00 2001 From: fulijian <16602137035@163.com> Date: Wed, 29 May 2019 15:06:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AC=AC=E4=B8=80=E5=A4=A9?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1,=20create=20by=20jack-json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MoveZeroes/jackjson/MoveZeroesDemo.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/MoveZeroes/jackjson/MoveZeroesDemo.java diff --git a/src/main/java/MoveZeroes/jackjson/MoveZeroesDemo.java b/src/main/java/MoveZeroes/jackjson/MoveZeroesDemo.java new file mode 100644 index 0000000..5f07d19 --- /dev/null +++ b/src/main/java/MoveZeroes/jackjson/MoveZeroesDemo.java @@ -0,0 +1,39 @@ +package MoveZeroes.jackjson; + +import java.util.*; + +public class MoveZeroesDemo { + + public static Integer[] getNewArray(Integer[] array){ + //数组转集合操作, 但是有一个缺陷, 返回的是一个Arrays的静态内部类,其中并没有实现add,remove方法 + List list = Arrays.asList(array); + // 创建一个list + list = new ArrayList(list); + // 定义一个标志, 用于记录有几个0存在 + int flag = 0; + for(int i = 0; i < list.size(); i++) { + if(0 == list.get(i)){ + list.remove(i); + // 防止漏标记, 漏删除 + i--; + flag++; + } + } + // 有 0 存在的情况下再做操作 + if(flag > 0){ + for (int i = 0; i< flag; i++){ + list.add(0); + } + } + // 集合转数组 等到记过并返回 + array = list.toArray(new Integer[list.size()]); + return array; + } + + + public static void main(String[] args) { + Integer[] array = {0,1,0,3,12}; + Integer[] newArray = getNewArray(array); + System.out.println(Arrays.toString(newArray)); + } +}