Java examples for Collection Framework:Array Algorithm
Fast scalar multiplication for sparse arrays.
//package com.java2s; public class Main { public static void main(String[] argv) throws Exception { double a = 2.45678; double[] v = new double[] { 34.45, 35.45, 36.67, 37.78, 37.0000, 37.1234, 67.2344, 68.34534, 69.87700 }; System.out.println(java.util.Arrays.toString(scalarMultiplyFast(a, v)));//from ww w .jav a 2s .co m } /** * Fast scalar multiplication for sparse arrays. */ public static double[] scalarMultiplyFast(double a, double[] v) { if (a == 0.0) return (new double[v.length]); double[] ans = new double[v.length]; for (int k = 0; k < v.length; k++) { if ((a != 0.0) && (v[k] != 0)) { ans[k] = v[k] * a; } else ans[k] = 0.0; } return (ans); } /** * Fast scalar multiplication for sparse arrays. */ public static double[] scalarMultiplyFast(double a, int[] v) { if (a == 0.0) return (new double[v.length]); double[] ans = new double[v.length]; for (int k = 0; k < v.length; k++) { if ((a != 0) && (v[k] != 0)) { ans[k] = v[k] * a; } else ans[k] = 0.0; } return (ans); } /** * Returns a comma delimited string representing the value of the array. */ public static String toString(double[] array) { StringBuffer buf = new StringBuffer(array.length); int i; for (i = 0; i < array.length - 1; i++) { buf.append(array[i]); buf.append(','); } buf.append(array[i]); return buf.toString(); } /** * Returns a comma delimited string representing the value of the array. */ public static String toString(double[][] array) { StringBuffer buf = new StringBuffer(); for (int k = 0; k < array.length; k++) { buf.append(toString(array[k])); buf.append(System.getProperty("line.separator")); } return buf.toString(); } /** * Returns a comma delimited string representing the value of the array. */ public static String toString(int[] array) { StringBuffer buf = new StringBuffer(array.length); int i; for (i = 0; i < array.length - 1; i++) { buf.append(array[i]); buf.append(','); } buf.append(array[i]); return buf.toString(); } /** * Returns a comma delimited string representing the value of the array. */ public static String toString(int[][] array) { StringBuffer buf = new StringBuffer(); for (int k = 0; k < array.length; k++) { buf.append(toString(array[k])); buf.append(System.getProperty("line.separator")); } return buf.toString(); } }