import java.util.*;
public class MultipleArraySort {
/*
* 多维数组,当作对象来使用 Array [ROW] [COLUMN]
*
* String [5][10] 有一个对象,包含10个字段 ,当前数组有5个这样的object
*
* String[1][2]
*
* 有一个对象,包含2个字段 , 当前数组只有1个这样的object
*
* String [ROW][COLUMN] !!!
*
* 现在对这个Array进行排序,也就是对 row 个对象进行排序,排序的准则是根据column 里面的值
*
* 一维数组是Object 二维数组是Collection
*
* 按照function的规则进行排序
* private void sort(Arrays[][],function f ){}
*/
/**
* @param args
*/
public static void main(String[] args) {
String[]originalArray = new String[5];
// Array constants can only be used in initializer
// originalArray[0]= {"3-4-4-2","2443"};
originalArray[0] = "3-4-4-2";
originalArray[1] = "2443";
//Array is object!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
String[] newArray = originalArray;
newArray[0]="labce";
log(newArray[0]);
log(originalArray[0]);
}
/*
* private static void log(<T>Object ){
*/
private static void log(Object o) {
/*
* log(5)也可以过来,因为自动boxing,unboxing
*/
System.out.println("<<<<<<<<<<<<<start " + o.getClass().getName());
/*
* 打印二维数组(二维数组也是特殊的一维数组)
* 很多维呢?
*/
if (o instanceof Object[][]) {
/*
* o是一个object 参数传递过来,要变例必须转为数组
*/
for (Object[] o1 : (Object[][]) o) {
for (Object o2 : o1) {
/*
* String[][] originalArray= new String[5][2]; default value
* is null ,no object is stored ,NullPointerException
*
* int[][] originalArray= new String[5][2]
*/
System.out.print((o2 == null) ? "null" : (o2.toString()));
System.out.print(" ");
}
System.out.println();
}
} else if (o instanceof Object[]) {
/*
* 打印一维数组
*/
for (Object o1 : (Object[]) o) {
System.out.println((o1 == null) ? "null" : (o1.toString()));
}
} else {
System.out.println((o == null) ? "null" : (o.toString()));
}
System.out.println("<<<<<<<<<<<<<end " + o.getClass().getName());
}
private static void logArrayIntOneD(int[] original) {
System.out.println("<<<<<<<<<<<<<start "
+ original.getClass().getName());
for (int i : original) {
System.out.print(i + " ");
}
System.out.println();
System.out.println("<<<<<<<<<<<<<end "
+ original.getClass().getName());
}
private static void logArrayIntTwoD(int[][] original) {
System.out.println("<<<<<<<<<<<<<start "
+ original.getClass().getName());
for (int[] i : original) {
for (int j : i) {
System.out.println(j + " ");
}
}
System.out.println("<<<<<<<<<<<<<end "
+ original.getClass().getName());
}
private static void logArrayCharOneD(char[] original) {
System.out.println("<<<<<<<<<<<<<start "
+ original.getClass().getName());
for (char c : original) {
System.out.println(c + " ");
}
System.out.println("<<<<<<<<<<<<<end "
+ original.getClass().getName());
}
private static void logArrayCharTwoD(char[][] original) {
System.out.println("<<<<<<<<<<<<<start "
+ original.getClass().getName());
for (char[] c1 : original) {
for (char c2 : c1) {
System.out.print(c2 + " ");
}
System.out.println();
}
System.out.println("<<<<<<<<<<<<<end "
+ original.getClass().getName());
}
private int checkArrayDimension(Object o) {
/*
* 参数object 如果是[开头说明是 数组 在这个基础上面, 参数 ! object instanceof Object[]
* ,说明是一个原始类型的数组 Dimension表示数组合维度
*/
/*
* int i 不是对象 int[] i是数组对象
*/
String className = o.getClass().getName();
System.out.println("<<<<<<<<<<<<<start " + className);
if (!className.startsWith("[")) {
// throw new Exception("Not Valid Array");
System.out.println("Not Valid Array");
System.exit(1);
}
int dimension = 0;
while (className.charAt(dimension) == '[') {
dimension++;
}
System.out.println("dimension " + dimension);
return dimension;
}
}
分享到:
相关推荐
今天看《程序员面试宝典》时偶然看到讲数组和指针的存取效率,闲着无聊,就自己写了段小代码,简单分析一下C语言背后的汇编,可能很多人只注重C语言,但在实际应用当中,当出现问题时,有时候还是通过分析汇编代码...
### 数组的常用方法知识点归纳 ...这些方法能够帮助开发者更高效地处理数组数据,提高代码的可读性和维护性。理解并熟练掌握这些方法,对于前端开发工作来说是非常有帮助的。希望本文能够为你提供一定的参考价值。
本文将基于提供的标题“php代码-纯属上班无聊,敲敲代码”和描述,以及包含的文件“README.txt”和“main.php”,来探讨PHP编程的一些核心知识点。 1. **PHP简介** PHP(Hypertext Preprocessor,超文本预处理器)...
一个操作DHTML表格的对象源代码,本演示代码试图通过包装对DHTML表格的操作使程序员从无聊的报表设计中解脱出来。主要有核心的两个模块组成: 模块名称:启程报表 采用HTML提供对表格形式的数据的显示,目前只...
在给定的代码中,定义了一个名为`Search`的模板类,该类支持两种查找方法:递归实现的二分查找 (`seek`) 和顺序查找 (`seek1`)。在`Seek`类的构造函数中,接收一个数据序列和其长度,将其存储在类的成员变量中。`...
"无聊的C语言作业"这个标题可能是在幽默地表达对作业的调侃,但实际上,C语言的学习和实践对于提升编程技能至关重要。这份作业可能是包含了一系列C语言的编程练习,旨在帮助学习者巩固基础知识,掌握核心概念。 ...
这将导致这个无聊的代码。 var pWordArray: PWord; begin pWordArray := GetMem(SizeOf(Word) * 10 ); // create 10 elements of Word try // Do something with the memory finally FreeMem(pWordArray); ...
JavaScript中的数组和循环可以用来存储和遍历雷区的状态,而条件语句(如if...else)则用于判断点击格子的行为。此外,事件监听器(event listeners)用于捕捉用户与游戏的交互,如鼠标点击。 在源码中,开发者可能...
- **解析**:上述代码中,`temp.split(" ")`会根据空格将字符串`temp`分割成一个字符串数组。通过索引`[0]`和`[1]`可以分别访问第一个和第二个字符串,然后利用`Integer.parseInt()`将字符串转换为整数。 #### 2. ...
在VB(Visual Basic)编程环境中,我们经常需要处理与Excel相关的任务,比如“无聊信息导入”这个场景可能指的是从Excel文件中读取数据并导入到应用程序中。在VB中,可以利用Microsoft Excel Object Library来实现...
1. **游戏网格**:游戏界面通常是一个二维数组,代表游戏区域。开发者可能使用二维数组来存储每个格子的状态,如是否为空、是否为雷或已被标记。 2. **雷的分布**:随机算法用于在网格上生成雷。开发者可能使用Java...
1. **基本语法和数据类型**: C语言有多种基本数据类型,如int(整型)、char(字符型)和float(浮点型)。在这个游戏中,可能用到int来存储分数或状态,char可能用于表示游戏中的角色或符号。 2. **输入输出**:...
1. 初始化矩阵:创建一个n×n的二维数组,用来存储魔方阵的元素。 2. 计算目标和:魔方阵的所有行、列、主对角线和副对角线的和应该相同,这个值可以通过公式n*(n^2+1)/2得到。 3. 填充矩阵:可以使用回溯法或者更...
此外,Select对象还拥有标准属性,如`className`、`dir`、`lang`和`title`,分别用于设置或获取元素的CSS类名、文本方向、语言代码和提示信息。 Select对象的方法包括: - `add()`:向下拉列表添加一个新的Option...
1、在网页上发现一个数独游戏,工作闲时无聊,写了一份代码用来解数独难题,测试下来容易的数独没啥问题,复杂的可能会遇到所有未知值的单元格都找不到唯一值的情况,需要假设值的无法解答。 2、思路: (1)定义...
【描述】"最近无聊写的,不喜勿喷,新手可下载看看,请多多包涵"表明这是一个个人项目,可能是作者在空闲时间创作的,用于娱乐和学习目的。作者谦虚地表示对作品的评价持开放态度,鼓励初学者研究和学习。对于想要...
1. **代码调试与修复**:实习生在实习过程中发现了代码中的bug,如`getTopicInfo`函数的父子节点没有正确封装,数组多了一层。这涉及到代码的逻辑修正,等待原作者修复后继续编写代码。 2. **编码规范**:实习生...