//数组
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. C# Using 开发随录

    Using 关键字有2个主要用途: 1.做为语句  用于定义一个范围,在此范围的末尾将释放对象 2.做为指令  用于为命名空间创建别名或导入其他命名空间中定义的类型 C# 通过 .NET Framew ...

  2. sql server还原到指定时间

    BACKUP LOG yjxy_1010 TO DISK='d:\yixy_log.bak' WITH FORMAT 数据库右击->任务->还原->还原事务日志.

  3. vsftpd服务器配置虚拟用户

    添加宿主用户 新建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统) useradd vsftpd -d /home/wwwroo ...

  4. Python 开发安卓Android及IOS应用库Kivy安装尝试

    Python 开发安卓Android及IOS应用库Kivy安装尝试: 先来看看这货可以用来制作什么应用: Create a package for Windows Create a package f ...

  5. wamp集成多个版本php (php7.0)

    https://www.cnblogs.com/ypf5208/p/5510274.html

  6. React 初识

    React We built React to solve one problem: building large applications with data that changes over t ...

  7. vscode调试typescript

    1.记录一个插件:https://www.npmjs.com/package/ts-node # Locally in your project  npm install -D ts-node npm ...

  8. leetcode-8-字符串转整数 (atoi)

    题目描述: 实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符 ...

  9. springmvc 运行原理 Spring ioc的实现原理 Mybatis工作流程 spring AOP实现原理

    SpringMVC的工作原理图: SpringMVC流程 . 用户发送请求至前端控制器DispatcherServlet. . DispatcherServlet收到请求调用HandlerMappin ...

  10. HDU - 6096 处理后缀的字典树

    题意:给定n个字符串,m次询问,每次询问多少个字符串前缀是pre且后缀是suf,前后缀不可相交 字典树同时存储前后缀,假设字符串长为len则更新2*len个节点,依次按s[0],s[len-1],s[ ...