摘自:http://www.runoob.com/java/java-examples.html

1.数组排序及元素查找

以下实例演示了如何使用sort()方法对Java数组进行排序,及如何使用 binarySearch() 方法来查找数组中的元素, 这边我们定义了 printArray() 方法来打印数组:

package javaLearn;
import java.util.Arrays; public class MainClass{
public static void main(String[] args){
int array[] = {2,5,-2,6,-3,8,0,-7,-9,4};
Arrays.sort(array);
printArray("数组排序结果为:",array);
int index = Arrays.binarySearch(array, 2);
System.out.println("元素2所在位置:"+index); } private static void printArray(String message,int array[]){
System.out.println(message+"[:length:"+array.length+"]");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
}

2.数组添加元素

使用sort()方法排序,insertElement()方法向数组插入元素

package javaLearn;
import java.util.Arrays; public class MainClass{
public static void main(String[] args){
int array[] ={2,5,-2,6,-3,8,0,-7,-9,4};
Arrays.sort(array);
printArray("数组排序:",array);
int index = Arrays.binarySearch(array, 1);
System.out.println("元素1所在位置(负数为不存在):"+index);
int newindex = -index-1;
array = insertElement(array,1,newindex);
printArray("数组添加元素1:",array);
} private static void printArray(String message,int array[]){
System.out.println(message+"[:length:"+array.length+"]");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
} private static int[] insertElement(int array[],int element,int index){
int length = array.length;
int destArray[] = new int[length+1];
System.arraycopy(array, 0, destArray, 0, index);
destArray[index] = element;
System.arraycopy(array, index, destArray, index+1, length-index);
return destArray;
}
}

3.获取数组长度

public class MainClass{
public static void main(String[] args){
String[][] data = new String[2][5];
System.out.println(data.length);
System.out.println(data[0].length);
}
}

4.数组反转

import java.util.ArrayList;
import java.util.Collections; public class MainClass{
public static void main(String[] args){
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
System.out.println("排序前:"+arrayList);
Collections.reverse(arrayList);
System.out.println("排序后:"+arrayList);
}
}

5.数组输出

import java.util.ArrayList;
import java.util.Collections; public class MainClass{
public static void main(String[] args){
String[] greeting = new String[3];
greeting[0] = "aaa";
greeting[1] = "bbb";
greeting[2] = "ccc";
for(int i=0;i<greeting.length;i++){
System.out.println(greeting[i]);
} ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
for(int i=0;i<arrayList.size();i++){
System.out.println(arrayList.get(i));
}
}
}

6.数组获取最大和最小值

import java.util.*;

public class MainClass{
public static void main(String[] args){
Integer[] array = {8,2,7,1,4,9,5};
List<Integer> aList = Arrays.asList(array);//数组转换为list
int min = Collections.min(aList);
int max = Collections.max(aList);
System.out.println("最小值为:"+min);
System.out.println("最大值为:"+max);
}
}

7.数组合并

import java.util.*;

public class MainClass{
public static void main(String[] args){
String[] a = {"A","B","C"};
String[] b = {"D","E","F"};
List<String> list = new ArrayList<String>(Arrays.asList(a)); //将数组a转换成list
list.addAll(Arrays.asList(b)); //将数组b转换成list并添加到list中
Object[] c = list.toArray();
System.out.println(Arrays.toString(c));
}
}

8.数组填充

import java.util.*;

public class MainClass{
public static void main(String[] args){
String[] a = new String[6];
Arrays.fill(a, "aa");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
System.out.println("=================");
Arrays.fill(a,3,6,"bb");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}

9.数组扩容

public class MainClass{
public static void main(String[] args){
String[] names = new String[] { "A", "B", "C" };
String[] extended = new String[5];
extended[3] = "D";
extended[4] = "E";
System.arraycopy(names, 0, extended, 0, names.length);
for (String str : extended){
System.out.println(str);
}
}
}

10.查找数组中重复元素

public class MainClass{
public static void main(String[] args){
int[] array = {1,2,3,4,5,2,5,6,7};
for(int i=0;i<array.length-1;i++){
for(int j=i+1;j<array.length;j++){
if(array[j]==array[i]){
System.out.println("重复元素:"+array[i]);
}
}
}
}
}

11.删除数组元素

import java.util.*;

public class MainClass{
public static void main(String[] args){
ArrayList<String> al = new ArrayList<String>();
al.clear();
al.add(0,"第一个元素");
al.add(1,"第二个元素");
al.add(2,"第三个元素");
al.remove(0);
al.remove("第三个元素");
System.out.println(al);
}
}

12.数组差集

import java.util.*;

    public class MainClass{
public static void main(String[] args){
ArrayList<String> al = new ArrayList<String>();
ArrayList<String> al2 = new ArrayList<String>();
al.add(0,"第一个元素");
al.add(1,"第二个元素");
al.add(2,"hello");
al2.add(0,"第二个元素");
al2.add(1,"the second");
al2.add(2,"the third");
al2.removeAll(al);
System.out.println("al2与al数组差集为:"+al2);
}
}

13.数组交集

import java.util.*;

    public class MainClass{
public static void main(String[] args){
ArrayList<String> al = new ArrayList<String>();
ArrayList<String> al2 = new ArrayList<String>();
al.add(0,"第一个元素");
al.add(1,"第二个元素");
al.add(2,"hello");
al2.add(0,"第二个元素");
al2.add(1,"the second");
al2.add(2,"the third");
al2.retainAll(al);
System.out.println("al2与al数组交集为:"+al2);
}
}

14.在数组中查找指定元素

import java.util.*;

    public class MainClass{
public static void main(String[] args){
ArrayList<String> al = new ArrayList<String>();
ArrayList<String> al2 = new ArrayList<String>();
al.add(0,"第一个元素");
al.add(1,"第二个元素");
al.add(2,"hello");
al2.add(0,"第二个元素");
al2.add(1,"the second");
al2.add(2,"the third");
System.out.println("al2包含al?:"+al2.contains(al));
System.out.println("al2包含the second?"+al2.contains("the second"));
}
}

15.判断数组是否相等

import java.util.*;

    public class MainClass{
public static void main(String[] args){
int ary1[] = {1,2,3,4};
int ary2[] = {1,2,3,4,5};
int ary3[] = {1,2,3,4};
System.out.println("ary1与ary2相等?:"+Arrays.equals(ary1, ary2));
System.out.println("ary1与ary3相等?:"+Arrays.equals(ary1, ary3));
}
}

16.数组并集

import java.util.*;

    public class MainClass{
public static void main(String[] args){
String[] ary1 = {"1","2","3","4"};
String[] ary2 = {"1","2","3"};
String[] ary3 = union(ary1,ary2);
System.out.print("并集的结果:");
for(String str:ary3){
System.out.print(str+" ");
}
} public static String[] union(String[] ary1,String[] ary2){
Set<String> set = new HashSet<String>();//set 无序,不重复
for(String str:ary1){
set.add(str);
}
for(String str:ary2){
set.add(str);
}
String[] ary3 = {};
return set.toArray(ary3);
}
}

Java之旅_高级教程_实例_数组的更多相关文章

  1. Java之旅_高级教程_实例_文件操作

    1.文件写入 import java.io.*; public class MainClass{ public static void main(String[] args){ try{ Buffer ...

  2. Java之旅_高级教程_实例_打印图形

    1.打印菱形 public class MainClass{ public static void main(String[] args){ printStar(10); } public stati ...

  3. Java之旅_高级教程_网络编程

    摘自:http://www.runoob.com/java/java-networking.html JAVA网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. j ...

  4. Java之旅_高级教程_数据结构

    摘自:http://www.runoob.com/java/java-data-structures.html 了解即可 Java 数据结构 Java 工具包提供了强大的数据结构.在Java中的数据结 ...

  5. Java之旅_高级教程_多线程编程

    摘自:http://www.runoob.com/java/java-multithreading.html Java 多线程编程 Java 给多线程编程提供了内置的支持.一条线程指的是进程中的一条执 ...

  6. Java之旅_高级教程_URL处理

    摘自 :http://www.runoob.com/java/java-url-processing.html Java URL 处理 URL(Uniform Resource Locator)中文名 ...

  7. java之旅_高级教程_java泛型

    摘自:http://www.runoob.com/java/java-generics.html JAVA泛型 java泛型(generics)是JDK5中引入的新特性,泛型提供了编译时类型安全检测机 ...

  8. Java之旅_高级教程_序列化

    摘自 :http://www.runoob.com/java/java-serialization.html  Java序列化 Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字 ...

  9. Java之旅_高级教程_Java Mysql连接(1)

    工具:Eclipse .mysql5.7 MySQL连接驱动:mysql-connector-java-5.1.27.jar    获取地址:https://dev.mysql.com/downloa ...

随机推荐

  1. MobaXterm 加装cygwin软件包

    上次在<MobaXterm: SSH/X远程客户端, Xmanager的最佳免费替代品>里面介绍了MobaXterm这个Windows上的便携 多合一unix工具箱,它基于Cygwin,集 ...

  2. Spring Session Redis

    http://www.infoq.com/cn/articles/Next-Generation-Session-Management-with-Spring-Session

  3. 【原】在Matplotlib绘图中添加Latex风格公式

    Matplotlib绘图的过程中,可以为各个轴的Label,图像的Title.Legend等元素添加Latex风格的公式. 只需要在Latex公式的文本前后各增加一个$符号,Matplotlib就可以 ...

  4. Spring Security 指定登陆入口

    spring security除通过form-login的熟悉指定登陆还可以通过entry-point-ref 指定登陆入口.具体配置如下: <?xml version="1.0&qu ...

  5. Java如何替换所有指定(出现)的字符串?

    在Java编程中,如何替换所有指定(出现)的字符串? 以下示例演示如何使用Matcher类的replaceAll()方法替换字符串中的所有出现的子字符串. package com.yiibai; im ...

  6. Oracle DBA神器之Toad

    很早就听说Toad功能很强大,一直没有使用过,因为PLSQL Developer就很好用.前几天看见同事优化Oracle就是用的Toad,有一些很强大的管理功能,于是再一次对Toad产生兴趣,收集了一 ...

  7. windows 同时启动多个Tomcat 控制台日志(startup.bat)输出到指定文件中

    1 .修改startup.bat第42行 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%&q ...

  8. 多线程开发之三 GCD

    NSThread.NSOperation.GCD 总结: 无论使用哪种方法进行多线程开发,每个线程启动后并不一定立即执行相应的操作,具体什么时候由系统调度(CPU 空闲时就会执行) 更新 UI 应该在 ...

  9. cookie是如何保存到客户端,又是如何发送到服务端

    Cookie相关的Http头     有 两个Http头部和Cookie有关:Set-Cookie和Cookie.     Set-Cookie由服务器发送,它包含在响应请求的头部中.它用于在客户端创 ...

  10. [JS] ECMAScript 6 - Variable : compare with c#

    前言 范围包括:ECMAScript 新功能以及对象. 当前的主要目的就是,JS的学习 --> ECMAScript 6 入门 let 命令 js 因为let, i的范围限制在了循环中. var ...