static int max(int a, int b) { ret Math.max(a, b); } static int max(int a, int b, int c) { ret max(max(a, b), c); } static long max(int a, long b) { ret Math.max((long) a, b); } static long max(long a, long b) { ret Math.max(a, b); } static double max(int a, double b) { ret Math.max((double) a, b); } static float max(float a, float b) { ret Math.max(a, b); } static double max(double a, double b) { ret Math.max(a, b); } static int max(Collection c) { int x = Integer.MIN_VALUE; for (int i : c) x = max(x, i); ret x; } static double max(double[] c) { if (c.length == 0) ret Double.MIN_VALUE; double x = c[0]; for (int i = 1; i < c.length; i++) x = Math.max(x, c[i]); ret x; } static float max(float[] c) { if (c.length == 0) ret Float.MAX_VALUE; float x = c[0]; for (int i = 1; i < c.length; i++) x = Math.max(x, c[i]); ret x; } static byte max(byte[] c) { byte x = -128; for (byte d : c) if (d > x) x = d; ret x; } static short max(short[] c) { short x = -0x8000; for (short d : c) if (d > x) x = d; ret x; }