摘自: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. elasticsearch和mysql排序问题

    elasticsearch 字段类型错误 最近用elasticseach做排序,排序字段是float型的,没有使用mapping,是直接写代码导入的,没想到排序时如果有小数和整数就会出现错误. 于是查 ...

  2. EXP-00056: ORACLE error 12154 encountered

    今天用EXP命令导Oracle数据库,出现如下错误信息: [oracle@yingxiang-testServer1 ~]$ exp imgpf/imgpf@orcl file=/prlife/db/ ...

  3. 【iCore1S 双核心板_FPGA】例程十六:基于SPI的ARM与FPGA通信实验

    实验现象: 核心代码: int main(void) { int i,n; ]; ]; HAL_Init(); system_clock.initialize(); led.initialize(); ...

  4. form表单下的button按钮会自动提交表单的问题

    form表单下的button按钮会自动提交表单的问题 2017年01月05日 18:02:44 蓝色水 阅读数:18012更多 个人分类: asp.net   form表单下的按钮在没有指定type类 ...

  5. Halcon 1D测量

    1.产生测量句柄,准备提取与矩形(圆弧)主轴垂直的值边缘. gen_measure_rectangle2或gen_measure_arc 2.测量边缘对   ,测量的直线与矩形或者圆弧垂直 measu ...

  6. 《FPGA全程进阶---实战演练》第七章 让按键恢复平静

    1基础理论部分 A:“怎么按键按下去之后,结果不正常?”,B:“按键你消抖了吗?”A:“消什么抖,还要消抖?”,  B:“先检测按键变化,然后消抖过滤波动信号,最后输出稳定信号”,A:“我好像漏掉了什 ...

  7. 关于C#中的动态数组ArrayList

    在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类与Array类的区别 ArrayList类实 ...

  8. titlesplit

    /** * Created by lkl on 2017/6/26. *///spark-shell --driver-class-path /home/hadoop/test/mysqljdbc.j ...

  9. talk is cheap, show me the code——dcgan,wgan,wgan-gp的tensorflow实现

    最近学习了生成对抗网络(GAN),基于几个经典GAN网络结构做了些小实验,包括dcgan,wgan,wgan-gp.坦率的说,wgan,wgan-gp论文的原理还是有点小复杂,我也没有完全看明白,因此 ...

  10. windows下添加多个git仓库账号

    当使用git方式下载时,如果没有配置过ssh key,会提示错误(git clone支持https和git(即ssh)两种方式下载源码) 当需要在机器上使用不同的git账户,这就需要知道如何在机器上添 ...