//1. Interger
Integer [][]ajacent= new Integer[vertexnum][vertexnum];
for (int i=0;i<vertexnum;i++){
//2. Array.fill
Arrays.fill(ajacent[i],0);
}
//3. Comparator, sort
Comparator cmp=new mycmptor();
for (int i=0;i<vertexnum;i++) {
Arrays.<Integer>sort(ajacent[i], cmp);
}
//4. 静态方法中不能引用非静态变量
class mycmptor implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
//如果n1小于n2,我们就返回正值,如果n1大于n2我们就返回负值,
//这样颠倒一下,就可以实现反向排序了
if(o1 < o2) {
return 1;
}else if(o1 > o2) {
return -1;
}else {
return 0;
}
}
}
//5. 子类,方法,方法引用
Bin bin=new Bin();
int yon=bin.dig(mark,a-plus,ajacent,plus);
- Interger 和 int
基本类型和包装类的关系- Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了将基本数据类型当成对象操作,Java基本数据类型引入了对应的包装类型(wrapper class)
- 从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换
原始类型:boolean,char,byte,short,int,long,float,double
包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
-
Array.fill
int数组初始值是0,Interger数组初始值是null
Array.fill可以用特定值填充一维数组 -
数组排序:sort,comparator
直接sort或指定范围直接sort,是升序
自己指定cmptor可以实现降序 -
静态方法中不能引用非静态变量
静态方法和静态变量是属于类,非静态属于对象,非静态方法或变量需要通过对象引用- 主类中的main方法是静态方法,而且会直接调用
- (但是引用非静态方法的话(任何),就要建立对象之后再引用了,就像用bin类中的其他方法的时候)
-
类的成分
- 变量,方法(都有静态非静态之分)
- 子类
网友评论