JAVA练手--数组

//数组
public static void main(String[] args) {
//1. 数组排序和查找
{
int[] intA = {5, 4, 2, 3, 1};
String[] StrA = {"ab", "cd", "ef"}; Arrays.sort(intA); for(int a : intA){
System.out.println("1 :"+a);
}
//采用的是二分法查找,所以必须要先排序
int i = Arrays.binarySearch(intA, 3);
System.out.println("1 :索引是从0开始,索引为"+i);
}
//2. 获取数组长度
{
int[] intA = {5, 4, 2, 3, 1};
int[][] intB = new int[5][4]; System.out.println("2 :"+intA.length);
System.out.println("2 :"+intB.length+", "+intB[0].length);
}
//3. 数组反转(也可以仍为是集合的反转)
{
ArrayList<String> al = new ArrayList<String>(); al.add("a");
al.add("b");
al.add("c");
al.add("d");
//采用集合的静态工具Collections进行反转
Collections.reverse(al);
Iterator it = al.iterator();
while(it.hasNext()){
System.out.println("3 :"+it.next());
}
}
//4. 找到数组的最大值和最小值
{
Integer[] intA = {5, 4, 2, 3, 1};
//数组转换成集合里的数组List
//注意:这里的ArrayList并非java.util.ArrayList,而是Arrays类的静态内部类!
Integer intB = Collections.max(Arrays.asList(intA));
Integer intC = Collections.min(Arrays.asList(intA));
System.out.println("4 :"+intB+", "+intC);
}
//5. 数组合并
{
Integer[] intA = {5, 4, 2, 3, 1};
Integer[] intB = {8, 9, 7, 6};
//现将数组intA转换为内部集合,然后在放入ArrayList中
ArrayList al = new ArrayList(Arrays.asList(intA));
al.addAll(Arrays.asList(intB)); //第一种输出方式
Iterator it = al.iterator();
while(it.hasNext()){
System.out.println("5 :"+it.next());
}
//第二种输出方式
System.out.println("5 :"+al);
}
//6. 填充数组元素
{
int[] intA = new int[3];
Arrays.fill(intA, 1);
for(int a : intA)
System.out.println("6 :"+a); System.out.println("6 --------");
Arrays.fill(intA, 1, 3, 2);
for(int a : intA)
System.out.println("6 :"+a); System.out.println("6 --------");
Integer[] intB = new Integer[3];
Arrays.fill(intB, 100);
for(Integer a : intB)
System.out.println("6 :"+a); }
//7. 数组扩容
{
int[] intA = {5, 4, 2, 3, 1};
int[] intB = new int[7];
intB[5] = 5;
intB[6] = 6;
System.arraycopy(intA, 0, intB, 0, intA.length);
for(int a : intB)
System.out.println("7 :"+a);
}
//8. 删除元素
{
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(10);
al.add(20);
al.add(30);
al.remove(1);
System.out.println("8 :"+al);
}
//9. 查看数组中是否包含某个元素
{
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(10);
al.add(20);
al.add(30);
System.out.println("9 :"+al.contains(20));
System.out.println("9 :"+al.contains(40));
}
//10. 查看数组是否相等
{
int[] intA = {1,2,3,4,5};
int[] intB = {1,2,3,4};
int[] intC = {1,2,3,4,5};
Integer[] intD = {1,2,3,4,5}; System.out.println("10 :"+Arrays.equals(intA, intB));
System.out.println("10 :"+Arrays.equals(intA, intC));
//System.out.println("10 :"+Arrays.equals(intA, intD));//报错
}
}

结果:

1  :1
1 :2
1 :3
1 :4
1 :5
1 :索引是从0开始,索引为2
2 :5
2 :5, 4
3 :d
3 :c
3 :b
3 :a
4 :5, 1
5 :5
5 :4
5 :2
5 :3
5 :1
5 :8
5 :9
5 :7
5 :6
5 :[5, 4, 2, 3, 1, 8, 9, 7, 6]
6 :1
6 :1
6 :1
6 --------
6 :1
6 :2
6 :2
6 --------
6 :100
6 :100
6 :100
7 :5
7 :4
7 :2
7 :3
7 :1
7 :5
7 :6
8 :[10, 30]
9 :true
9 :false
10 :false
10 :true
上一篇:KnockoutJS 3.X API 第六章 组件(4) 自定义元素


下一篇:js时间对象格式化 format(转载)