数组
一维数组,二维数组和多位数组
一维数组格式
char [ ] a,b,c; //第一种方式声明
char a[ ],b[ ],c[ ]; //第二种方式声明
[ ] a = new char[3]; // 数组的创建或者
char[ ] a =new char[3]; //声明与创建a[0] =0; //数组初始化赋值
a[1] =1;
a[2] =2;
//一步到位格式:
char [ ] c = {‘a’,‘b’,‘c’,‘d’};
二维数组
int [ ] [ ] m ;
m = new int[2][];
m[0] = new int [3];
m[1] =new int [2];
- 这种方式可以随意控制元素的个数
下面这种方式中同一维度的元素个数必须相同。
int [ ] [ ] a = new int [2] [2];
a[0][0] = 2;
a[0][1] = 4;
a[1][0] = 6;
a[1][1] =8;
或者另一赋值方式:
a ={2,4,6,8};
一步方式:
int [ ] [ ] c ={ {1,2}, {3,4} };
多维数组
int [ ] [ ] [ ] m ;
m = new int [3] [ ] [ ];
m[0] = new int [2] [ ];
m[1] = new int [2][ ];
m[2] =new int [1] [ ];
m[0] [0] = new int [3];
m[0][1] =new int [2];
m[1][0] =new int [2];
m[1][1]= new int [1];
m[2][0] =new int [2];
- 这种方式可以随意控制元素的个数
下面这种方式中同一维度的元素个数必须相同。
int [ ] [ ] [ ] m =new int [3] [2] [1];
m = {0,1,2,3,4,5};
或者另一赋值方式:
一步方式:
int [ ] [ ] [ ] m = { { {0},{1} }, { {2},{3} }, { {4},{5} } };
数组的访问通过下标
字符串:
String s1 = new String(“abcd”);
字符串处理函数:
字符串处理方法网址
**字符串池:**字符串池装着字符串直接量
intern()函数可以将某一字符串变为字符串直接量
public class J_Intern{
public static void main(String args[ ]){
String s1 = "123456";
String s2 = "123456";
String s3 = "123" + "456";
String a = "123";
String s4 = a + "456";
String s5 = new String("123456");
String s6 = s5.intern();
System.out.println("s1==s2" +s1==s2);
System.out.println("s1==s3" +s1==s3);
System.out.println("s1==s4" +s1==s4);
System.out.println("s1==s5" +s1==s5);
System.out.println("s1==s6" +s1==s6);
}
}
字符串缓冲区
字符串缓冲区StringBuffer可以创建一个容量为16而且长度为0的字符串缓冲区实例对象:public StringBuffer();
通过写入参数可以指定容量
设置缓冲区的容量:
public StringBuffer(int capacity)
public void ensureCapacity( int minimumCapacity) 可以用来设置当前字符串缓冲区的容量,如果参数minimumCapacity的值等于或小于字符串缓冲区的容量,则该成员方法不改变字符串缓冲区。否则,重新分配字符串字符串缓冲区内存,新的字符串缓冲区的容量是下面两个数中较大的数:
(1)minimumCapacity
(2)(当前字符串缓冲区的容量)*2 + 2
向量
向量:多种数据类型的变量。
格式:
java.util.Vector
Vector<向量元素的数据类型> 变量名
向量方法:百度
哈希表
哈希表的基本原理是在哈希表的元素的关键字与该严肃的的存储位置为之间建立起一种映射关系。这种映射关系称为哈希函数或散列函数。
哈希冲突:如果需要在同一个哈希表中存放对应同一个哈希码的不同元素,这种现象称为冲突。(一个位置有几个元素)
类java.util.Hashtable、java.util.HashMap和WeakHashMap是3个哈希表类。
区别
(1)是否允许null。Hashtable不允许,HashMap和WeakHashMap允许。
(2)是否支持同步(多线程时数据的正确性):Hashtable支持,HashMap和WeakHashMap不支持
(3)WeakHashMap自动按一定的规则检查各个元素是否“常用”。如果不常用则自动删除。