-------
android培训、
java培训、期待与您交流! ----------
数组:
1、相同类型的数据集合就叫做数组。
2、定义一个数组,type[]变量名 = new type[数组中元素的个数];也可以定义长度如:int[] a = new int[10];或者int a[]=new int[10];。数组中的元素索引时从0开始的。对于数组来说,最大的索引==数组的长度-1.
3、int[] a = new int[10],其中a是一个引用,它指向了生产的数组对象的首地址,数组中每个元素都是int类型,其中仅存放数据值本身。如:

4、数组引用变量只是一个引用,这个引用变量可以指向任何有效的内存,数组元素被存储在堆内存中;数组引用变量是一个引用类型的变量,被存储在栈内存中。
5、冒泡排序:
import java.util.Scanner;
public class BubbleSort {
// 排序方法(由大到小)
public static void Sort(int arry[]){
for(int i=arry.length-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(arry[i]>arry[j]) //如果后面的大于前面的 则交换顺序
{
int temp;
temp=arry[i];
arry[i]=arry[j];
arry[j]=temp;
}
}
}
System.out.println("排序结果为:"); //打印排序结果
for(int i=0;i<arry.length;i++)
{
System.out.print(arry[i]+",");
}
}
public static void main(String args[]){
int[] arry=new int[10];
Scanner scan=new Scanner(System.in); //接收被排列数字
System.out.println("请输入10个数...");
for(int i=0;i<arry.length;i++){ //接收数字赋给数组
arry[i]=scan.nextInt();
}
Sort(arry); //调用排列方法
}
}
6、二维数组。就是一种平面的二维结构,本质上是数组的数组,二维数组的定义方式:type[][] a = new type[2][3];
集合:
1、JAVA的集合类是一种工具类,它可以存储数量不等的多个对象,并可以实现常用数据结构。集合大致可分为:Set,List,Map三种体系,其中Set是无序的,不可重复的。List代表有序,重复的集合。Map代表有映射关系的集合。
2、集合类和数组不一样,数组元素可以使基本类型的值,也可以是对象,但集合里只能保存对象。
------- android培训、 java培训、期待与您交流! ----------
数组:
1、相同类型的数据集合就叫做数组。
2、定义一个数组,type[]变量名 = new type[数组中元素的个数];也可以定义长度如:int[] a = new int[10];或者int a[]=new int[10];。数组中的元素索引时从0开始的。对于数组来说,最大的索引==数组的长度-1.
3、int[] a = new int[10],其中a是一个引用,它指向了生产的数组对象的首地址,数组中每个元素都是int类型,其中仅存放数据值本身。如:

4、数组引用变量只是一个引用,这个引用变量可以指向任何有效的内存,数组元素被存储在堆内存中;数组引用变量是一个引用类型的变量,被存储在栈内存中。
5、冒泡排序:
import java.util.Scanner;
public class BubbleSort {
// 排序方法(由大到小)
public static void Sort(int arry[]){
for(int i=arry.length-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(arry[i]>arry[j]) //如果后面的大于前面的 则交换顺序
{
int temp;
temp=arry[i];
arry[i]=arry[j];
arry[j]=temp;
}
}
}
System.out.println("排序结果为:"); //打印排序结果
for(int i=0;i<arry.length;i++)
{
System.out.print(arry[i]+",");
}
}
public static void main(String args[]){
int[] arry=new int[10];
Scanner scan=new Scanner(System.in); //接收被排列数字
System.out.println("请输入10个数...");
for(int i=0;i<arry.length;i++){ //接收数字赋给数组
arry[i]=scan.nextInt();
}
Sort(arry); //调用排列方法
}
}
6、二维数组。就是一种平面的二维结构,本质上是数组的数组,二维数组的定义方式:type[][] a = new type[2][3];
集合:
1、JAVA的集合类是一种工具类,它可以存储数量不等的多个对象,并可以实现常用数据结构。集合大致可分为:Set,List,Map三种体系,其中Set是无序的,不可重复的。List代表有序,重复的集合。Map代表有映射关系的集合。
2、集合类和数组不一样,数组元素可以使基本类型的值,也可以是对象,但集合里只能保存对象。

3、Set,List,Map
4、想ArrayList添加对象实际上就是讲该对象放到了ArrayList所维护的数组中,当想LinkedList添加对象时,实际上在LinkedList内部会生产一个Entry对象
Entry{
Entry previous;
Object element;
Entry next;
}
Object类型的元素element就是想LinkedList中添加元素,然后Entry又构造好了向前向后引用previout,next,最后将生产的这个Entry对象加入到链表中。
5、当使用HashSet时,hashCode()方法就会调用,判断存储在集合中的对象的hash code值是否与增加的对象的hash code值相同;如果不相同,直接加上去;如果一致,再进行equals方法的比较,equals方法如果返回true,就不会再增加新对象。
6、Map(映射):Map的keySet()方法会返回key的集合,因为Map的键是不能重复,因此keySet()方法的返回类型是Set;而Map的值是可以重复的,所有values()方法可以接受重复的元素。
7、关于Object类的equals方法的特点:
a) 自反性:x.equals(x)应该返回true
b) 对称性:x.equals(y)为true,那么y.equals(x)也为true。
c) 传递性:x.equals(y)为 true并且y.equals(z)为true,那么x.equals(z)也应该为true。
d) 一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次、第三次、第n次调用也应该为true,前提条件是在比较之间没有修改x也没有修改y。
e) 对于非空引用x,x.equals(null)返回false。
8、关于Object类的hashCode()方法的特点:
a) 在Java应用的一次执行过程当中,对于同一个对象的hashCode方法的多次调用,他们应该返回同样的值(前提是该对象的信息没有发生变化)。
b) 对于两个对象来说,如果使用equals方法比较返回true,那么这两个对象的hashCode值一定是相同的。
c) 对于两个对象来说,如果使用equals方法比较返回false,那么这两个对象的hashCode值不要求一定不同(可以相同,可以不同),但是如果不同则可以提高应用的性能。
d) 对于Object类来说,不同的Object对象的hashCode值是不同的(Object类的hashCode值表示的是对象的地址)。
Entry{
Entry previous;
Object element;
Entry next;
}
Object类型的元素element就是想LinkedList中添加元素,然后Entry又构造好了向前向后引用previout,next,最后将生产的这个Entry对象加入到链表中。
5、当使用HashSet时,hashCode()方法就会调用,判断存储在集合中的对象的hash code值是否与增加的对象的hash code值相同;如果不相同,直接加上去;如果一致,再进行equals方法的比较,equals方法如果返回true,就不会再增加新对象。
6、Map(映射):Map的keySet()方法会返回key的集合,因为Map的键是不能重复,因此keySet()方法的返回类型是Set;而Map的值是可以重复的,所有values()方法可以接受重复的元素。
7、关于Object类的equals方法的特点:
a) 自反性:x.equals(x)应该返回true
b) 对称性:x.equals(y)为true,那么y.equals(x)也为true。
c) 传递性:x.equals(y)为 true并且y.equals(z)为true,那么x.equals(z)也应该为true。
d) 一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次、第三次、第n次调用也应该为true,前提条件是在比较之间没有修改x也没有修改y。
e) 对于非空引用x,x.equals(null)返回false。
8、关于Object类的hashCode()方法的特点:
a) 在Java应用的一次执行过程当中,对于同一个对象的hashCode方法的多次调用,他们应该返回同样的值(前提是该对象的信息没有发生变化)。
b) 对于两个对象来说,如果使用equals方法比较返回true,那么这两个对象的hashCode值一定是相同的。
c) 对于两个对象来说,如果使用equals方法比较返回false,那么这两个对象的hashCode值不要求一定不同(可以相同,可以不同),但是如果不同则可以提高应用的性能。
d) 对于Object类来说,不同的Object对象的hashCode值是不同的(Object类的hashCode值表示的是对象的地址)。
------- android培训、 java培训、期待与您交流! ----------