Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;

public class Main {

    public static byte[] reverse(final byte[] bytes) {
        Objects.requireNonNull(bytes);

        if (bytes.length == 0) {
            return new byte[0];
        }

        final List<Byte> list = asList(bytes);
        Collections.reverse(list);
        return toArray(list);
    }

    private static List<Byte> asList(byte[] bytes) {
        Objects.requireNonNull(bytes);

        if (bytes.length == 0) {
            return new ArrayList<>();
        }

        final List<Byte> list = new ArrayList<>(bytes.length);
        for (byte b : bytes) {
            list.add(b);
        }
        return list;
    }

    private static byte[] toArray(List<Byte> bytes) {
        Objects.requireNonNull(bytes);

        if (bytes.size() == 0) {
            return new byte[0];
        }

        final byte[] array = new byte[bytes.size()];
        for (int i = 0; i < bytes.size(); i++) {
            array[i] = bytes.get(i);
        }
        return array;
    }
}