package algorithm.unit1; import java.util.Arrays; /** * Created by lwb on 2015/3/13. */ public class Array { /** * 获取数组最大值 */ public static double getMax(double[] array) { double max = array[0]; for (int i = 0; i < array.length; i++) if (array[i] > max) max = array[i]; return max; } /** * 计算数组元素平均值 */ public static double getAverage(double[] array) { double total = 0; int length = array.length; for (int i = 0; i < length; i++) total += array[i]; return total / length; } /** * 复制数组 */ public static double[] getCopy(double[] array) { int length = array.length; double[] copy = new double[length]; for (int i = 0; i < length; i++) copy[i] = array[i]; return copy; } /** * 颠倒数组 */ public static double[] getReverse(double[] array) { int length = array.length; for (int i = 0; i < length / 2; i++) { double temp = array[i]; array[i] = array[length - i - 1]; array[length - 1 - i] = temp; } return array; } /** * 矩阵相乘 */ public static double[][] getProduct(double[][] a1, double[][] a2) { int line = a1.length; int row = a2[0].length; if (a1.length == a2[0].length && a1[0].length == a2.length) { double[][] product = new double[line][row]; for (int i = 0; i < line; i++) { for (int j = 0; j < row; j++) { for (int k = 0; k < a1[0].length; k++) product[i][j] += a1[i][k] * a2[k][j]; } } return product; } else throw new IllegalArgumentException("参数错误"); } public static void main(String[] args) { double[][] a1 = {{1,2},{3,4}}; double[][] a2= {{1,2},{3,4}}; System.out.println("test"); System.out.println(Arrays.deepToString(Array.getProduct(a1, a2))); } }
Arrays.deepToString()方法:
public static String deepToString(Object[] a) { if (a == null) return "null"; int bufLen = 20 * a.length; if (a.length != 0 && bufLen <= 0) bufLen = Integer.MAX_VALUE; StringBuilder buf = new StringBuilder(bufLen); deepToString(a, buf, new HashSet<Object[]>()); return buf.toString(); } private static void deepToString(Object[] a, StringBuilder buf, Set<Object[]> dejaVu) { if (a == null) { buf.append("null"); return; } int iMax = a.length - 1; if (iMax == -1) { buf.append("[]"); return; } dejaVu.add(a); buf.append('['); for (int i = 0; ; i++) { Object element = a[i]; if (element == null) { buf.append("null"); } else { Class eClass = element.getClass(); if (eClass.isArray()) { if (eClass == byte[].class) buf.append(toString((byte[]) element)); else if (eClass == short[].class) buf.append(toString((short[]) element)); else if (eClass == int[].class) buf.append(toString((int[]) element)); else if (eClass == long[].class) buf.append(toString((long[]) element)); else if (eClass == char[].class) buf.append(toString((char[]) element)); else if (eClass == float[].class) buf.append(toString((float[]) element)); else if (eClass == double[].class) buf.append(toString((double[]) element)); else if (eClass == boolean[].class) buf.append(toString((boolean[]) element)); else { // element is an array of object references if (dejaVu.contains(element)) buf.append("[...]"); else deepToString((Object[])element, buf, dejaVu); } } else { // element is non-null and not an array buf.append(element.toString()); } } if (i == iMax) break; buf.append(", "); } buf.append(']'); dejaVu.remove(a); }
相关推荐
昨天出去前端面试又失败,期间问了个有关于数组对象的问题,下面就这类问题总结下JavaScript常用的数组操作方法。 一、何为数组(Array)对象 数组对象是使用单独的变量名来存储一系列的值。 二、创建数组的三种方式...
字符串和数组在程序编写过程中是十分常用的类型,因此程序语言都会将String和Array作为基本类型,并提供许多字符串和数组的方法来简化对字符串的操作。JavaScript里面也提供了String类型和Array类型,并且有很多基本...
今天总结一下Array的一些简单和基本的操作,也来巩固下自己的基础知识。 一、如何创建Array(下面直接说数组) 创建数组主要有两种方法,第一种是使用数组构造函数,第二种是使用数组字面量表示法。 1、使用数组构造...
Array 的方法1 Array.join(): 把所有元素用符号连结成string返回, 如果元素不是基本类型, 先调用toString.它对应string.split();arr = [1,2,true,3,4,5];(arr.join(‘-‘) == ‘1-2-true-3-4-5’; 2 Array.reverse...
任务:编写方法实现下列一维数组的基本操作 数组作为方法的形参 任务1、使用随机数初始化一个整型数组 任务2、显示一个整型数组中的所有元素 任务3、对数组元素求平均 任务4、将数组内容反向存储 1、使用随机数初始...
个对象扩展了JS原生的Array对象,提供了一些基本的工具函数,有些方法非常简单,源码里就不在注释了。
PHP 还提供了超过 70 个内建函数来操作数组。 创建数组 使用 array() 语言结构创建数组: <?php $arr_age1 = array(18, 20, 25); // 或者: $arr_age2 = array("wang"=>18, "li"=>20, "zhang"=>25); // 空数组...
JavaScript类型检测的方法实例教程 JavaScript是web前端广泛应用的语言之一,在网页应用制作、脚本制作、小程序等诸多领域具有不可替代的的地位。笔者学习了一端时间的前端,颇感JS知识点的繁碎,故将学习到的一些...
本文介绍ECMAScript 6即将带给我们新的数组操作方法,以及在怎样在现有浏览器应用这些新的数组特性。 Note: 我将使用交替使用构造器(constructor)和类(class)两个术语。 类方法 数组(Array)自身所拥有的方法。 Array...
基本数组:创建,检索,更新和删除概述本课将深入探讨如何创建,操作和检索数组中的数据。目标创建并填充数组。 使用不同的方法将项目添加到数组。 使用其他方法从数组中删除项目。 使用sort,reverse和include方法...
更多数组方法! 您是否曾经受够了数组的方法远少于应有的方法的事实呢? 不?... 大多数方法都是非常基本的,并且花费了大约两分钟的时间来编写代码,但是最后将它们全部集成到一个大模块中仍然很有
基本数组:创建,检索,更新和删除 概述 本课将深入探讨如何创建,操作和检索数组中的数据。 目标 创建并填充数组。 使用不同的方法将项目添加到数组。 使用其他方法从数组中删除项目。 使用sort,reverse和...
基本数组:创建,检索,更新和删除概述本课将深入探讨如何创建,操作和检索数组中的数据。目标创建并填充数组。 使用不同的方法将项目添加到数组。 使用其他方法从数组中删除项目。 使用sort,reverse和include方法...
主要介绍了javascript中的Array数组知识点,对数组的基本使用方法,以及各种方法进行整理,感兴趣的小伙伴们可以参考一下
数组的基本操作 php定义数组: <?php $array = array(); $array["key"] = "values"; ?> 在PHP中声明数组的方式主要有两种: 1.用array()函数声明数组, 2.直接为数组元素赋值。 <?php //array数组 ...
数组在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,下面小编给大家整理了关于数组的操作方法,一起看看吧。 数组创建 JavaScript中创建数组有两种方式,...
随着人工智能的火热发展,深度学习技能也变得愈加...其实这个和numpy里面的array是比较相似的,tensor也可以从numpy的array进行转化。转换方法主要有几种,可以用torch.from_numpy,也可以直接用torch.tensor进行转换。
基本数组:创建,检索,更新和删除 概述 本课将深入探讨如何创建,操作和检索数组中的数据。 目标 创建并填充数组。 使用不同的方法将项目添加到数组。 使用其他方法从数组中删除项目。 使用sort,reverse和...