//数组
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

JAVA练手--数组的更多相关文章

  1. 20个Java练手项目,献给嗜学如狂的人

    给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行巩固. JAVA基础 ...

  2. 去哪找Java练手项目?

    经常有读者在微信上问我: 在学编程的过程中,看了不少书.视频课程,但是看完.听完之后感觉还是不会编程,想找一些项目来练手,但是不知道去哪儿找? 类似的问题,有不少读者问,估计是大部分人的困惑. 练手项 ...

  3. JAVA练手--集合

    集合框架体系如图所示 Collections:是一个工具类java.util.Collections(可以使用它对集合对象进行操作) Collection:除了map(键值对)其他集合的父类 1. S ...

  4. java练手 公约数和公倍数

    Problem D 公约数和公倍数 时间限制:1000 ms  |  内存限制:65535 KB   描述 小明被一个问题给难住了,现在需要你帮帮忙.问题是:给出两个正整数,求出它们的最大公约数和最小 ...

  5. java练手 韩信点兵

    Problem C 韩信点兵 时间限制:3000 ms  |  内存限制:65535 KB   描述 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队 ...

  6. java 练手 Fibonacci数

    Problem B Fibonacci数 时间限制:3000 ms  |  内存限制:65535 KB   描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列 ...

  7. java 练手 谁是最好的Coder

    Problem A 谁是最好的Coder 时间限制:1000 ms  |  内存限制:65535 KB   描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所 ...

  8. 极简易版专家聊天程序--JAVA练手

    呵呵,用JAVA包开发SOCKET连接,是很简单的呢~~~ DailyAdviceServer.java import java.io.*; import java.net.*; public cla ...

  9. JAVA练手--文件操作

    1. File类 主要作用:用于文件和文件夹的创建.查找.删除等操作 public static void main(String[] args) throws IOException { File ...

随机推荐

  1. 使用 IIS 在 Windows 上托管 ASP.NET Core(Windows安装实践)

    原文地址 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.0&tabs= ...

  2. 开源应用框架BitAdminCore:更新日志20180903

    索引 NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:https://www.bitadmincore.com 框架源码:https://github.com/chenyi ...

  3. Visual Studio 2013的新特性介绍

    cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Ser ...

  4. MvvmLight框架使用入门(四)

    本篇我们着重介绍ViewModelBase,演示Set和RaisePropertyChanged方法的使用,以及就Cleanup方法释放资源展开讨论. ICleanup 接口.实现该接口的ViewMo ...

  5. Hibernate 干货2

    @ORM框架 对象关系映射,用于实现面向对象编程语言里不同系统的数据之间的转换 @实例public void demo01(){  User user = new User();  user.setU ...

  6. P4145 上帝造题的七分钟2

    题目描述 "第一分钟,X说,要有数列,于是便给定了一个正整数数列. 第二分钟,L说,要能修改,于是便有了对一段数中每个数都开平方(下取整)的操作. 第三分钟,k说,要能查询,于是便有了求一段 ...

  7. objectARX 关于MFC类向导 无法向此非CCmdTarget派生类添加任何命令 的解决方式

    objectARX 关于MFC类向导 无法向此非CCmdTarget派生类添加任何命令  的解决方式 图文By edata ,转载注明出处 http://www.cnblogs.com/edata 1 ...

  8. linux将指令加入开机启动或加入环境变量

    以mongodb运行指令为例,/usr/local/webserver/mongodb/bin/mongo 1,linux将指令加入环境变量PATH 简单说PATH就是一组路径的字符串变量,当你输入的 ...

  9. day 02 ---class - homework

    # -*- coding: utf-8 -*-# @Time : 2018/12/20 14:34# @Author : Endless-cloud# @Site : # @File : day 02 ...

  10. 【3】JMicro微服务-服务超时,重试,重试间隔

    如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 接下来的内容都基于[2]JMicro微服务-Hello World做Demo 微服务中,超时和重试是一个最基本问题下面Dem ...