今天在工作中突然收到一到面试题~打算试一试,发现有部分知识点比较缺乏,特写此来回顾关于数组的知识点。
上图
我的代码
import java.util.List;
import org.hibernate.loader.plan.spi.ScalarReturn;
public class test {
public static void main(String[] args) {
Integer[][]ar={{0,0,1,1,0},{0,1,1,1,0},{0,1,1,1,0},{0,1,1,1,1},{1,0,0,0,0}};
String get=find(ar,2,2);
System.out.println(get);
}
//实现方法
public static String find(Integer[][]arr,int x,int y){
String str="该("+x+","+y+")坐标下兄弟元素为:";
if(arr[x-1][y].equals(1)){
str +="("+(x-1)+","+y+")";
}
if(arr[x+1][y].equals(1)){
str +="("+(x+1)+","+y+")";
}
if(arr[x][y+1].equals(1)){
str +="("+x+","+(y+1)+")";
}
if(arr[x][y-1].equals(1)){
str +="("+x+","+(y-1)+")";
}
return str;
}
}
自我感觉此方法很普遍也不够高大上,但是确实实现得到了结果;
主要是采用了对二维数组的定义以及获取相应坐标元素,由于对二维数组生疏,经过上网查询得到定义方法,在这里进行反省。
一维数组
数组的定义:
第一种方式:
String[] arr=new String[3];
//分配数组 值
arr[0]=“3”;
arr[1]=“1”;
arr[2]=“3”;
第二种方式:
String[] arr2={“3”,“1”,“2”};
第三种方式:
String[] arr3=new String []{“1”,“2”,“3”};
数组的获取:
String a=arr[下标];
二维数组
数组的定义
第一种方式:
int[][] arr=new int[3][4] //3行4列 三个数组每组四个元素
第二种方式
int [][] arr2=new int [3][];
第三种方式
int [][] arr3={{1,2},{2,3},{3.4},{4,2}}; //定义了四个数组 每组两个元素
数组元素的获取
int a=arr[2][1] //根据元素下标获取