学习数据结构知识的第一天

public class NormalStudy {
//第一课,先学会一些相应的数组的生成的方式吧。
//数组的生成,以及size 和length的区别
public static void main(String []args)
{
int []arr=new int[10];
for(int i=0;i<arr.length;i++)
{
arr[i]=i;
}
for(int in:arr) {
System.out.println(in);
}
int []arr1=new int[] {10,15,13}; //new int[10] {10,15,13};这种写法是不对的。
for(int in:arr1) {
System.out.println(in);
}

}

这里说的是数组的生成方式。

length——数组的属性;

length()——String的方法;

size()——集合的方法;

这里说的是:什么时候用length  什么时候用的是length()  什么时候用size

//从它这里的对比,学习到的东西:1.addFirst这样的东西,就是调用add来实现的
//2.如果要打印,要写toString方法,然后的话用%d之类的做占位符
//3.用StringBuilder来做字符串的拼接,最方便。

//在这里,学习到了断点的调试方法:
//F5进入方法,F6进入下一行代码,F7返回方法调用点,F8跳到下个断点,若无就正常运行,ctrl+r 运行到光标坐在行代码(笔者常用F6逐行执行和F8跳过当前断点这2个)。
//2.其实没必要设置变量length这个,因为这是数组自带的一个属性了,设置这个变量其实是奇怪了的
//学会了怎么去抛出异常,就是new相应的异常来抛出异常
//学会了泛型是怎么去新建的 ,就是强制转换后new 相应的东西
//其实这些removeLast removeFirst就是去调用相应的remove的代码的
//
//对于引用类型是否相等的话,一定用这个equals函数才准,用==号是不准的。
//也就是说:要记得调用equals函数。
//
//
//它这里的resize,是private的函数,当你内存不够,也就是你add的话,如果说内存不够的话,那么是:调用相应的private的函数来扩大内存。
//然后的话其实它扩大内存的方法是这样的。
//
//E[] newData = (E[])new Object[newCapacity];
//for(int i = 0 ; i < size ; i ++)
// newData[i] = data[i];
//data = newData;
//它是新引用了一块,其实我是:
//arr=(E[])new Object[length];
//其实也是引用了新的空间,再去赋值的,
//所以它这种方法其实更合理。

//int[] copied = Arrays.copyOf(arr, 10); //10 the the length of the new array
//System.out.println(Arrays.toString(copied));
//
//copied = Arrays.copyOf(arr, 3);
//System.out.println(Arrays.toString(copied));
//运行结果:
//
//[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
//[1, 2, 3]

这里是关于数组的学习学习到的东西,挺多学习到的了,具体代码在工程里有

猜你喜欢

转载自www.cnblogs.com/startFrom0/p/12578706.html
今日推荐