//数组
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#语言各个版本特性(二)

    二.排序Product 1.按名称对产品进行排序,以特定顺序显示一个列表的最简单方式就是先将列表排序,再遍历并显示其中的项. C#1.1 使用IComparer对ArrayList进行排序 produ ...

  2. C# SM加密

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using Org.Boun ...

  3. django系列8.4--django中间件的可应用案例, 限制请求次数与时间

    应用案例 1.做IP访问频率限制 某些IP访问服务器的频率过高,进行拦截, 比如每分钟不能超过20次 2.URL访问过滤 如果用户访问的是login视图,就允许请求 如果访问其他视图, 需要检测是不是 ...

  4. 486. Predict the Winner

    Given an array of scores that are non-negative integers. Player 1 picks one of the numbers from eith ...

  5. “全栈2019”Java第一百章:局部内部类可以实现接口吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. JAVA常见面试题之Forward和Redirect的区别 (转发和重定向)

    阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相 ...

  7. objectARX创建 PaletteSet 停靠面板示例

    objectARX创建 PaletteSet 停靠面板示例 图文By edata ,转载注明出处 http://www.cnblogs.com/edata 部分代码参考张帆<AutoCAD Ob ...

  8. 为服务器设置固定IP地址

    为服务器设置固定IP地址 1.获取超级管理员权限 命令:$ su - 输入root密码 2.判断哪个网卡有流量,或者确定需要设置哪个网卡的固定ip 命令:# ifconfig PS:可以查询哪些网卡有 ...

  9. mysql工具——perror(mysql错误代码,查看错误号释义)

    mysql工具——perror(mysql查看错误代码,查看错误号释义) 关键词:mysql错误代码,mysql错误号,perror

  10. P4859 已经没有什么好害怕的了

    传送门 见计数想容斥 首先题目可以简单转化一下, 求 糖果比药片能量大的组数比药片比糖果能量大的组数多 $k$ 组 的方案数 因为所有能量各不相同,所以就相当于求 糖果比药片能量大的组数为 $(n+k ...