Java之旅_高级教程_实例_数组
摘自: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之旅_高级教程_实例_数组的更多相关文章
- Java之旅_高级教程_实例_文件操作
1.文件写入 import java.io.*; public class MainClass{ public static void main(String[] args){ try{ Buffer ...
- Java之旅_高级教程_实例_打印图形
1.打印菱形 public class MainClass{ public static void main(String[] args){ printStar(10); } public stati ...
- Java之旅_高级教程_网络编程
摘自:http://www.runoob.com/java/java-networking.html JAVA网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. j ...
- Java之旅_高级教程_数据结构
摘自:http://www.runoob.com/java/java-data-structures.html 了解即可 Java 数据结构 Java 工具包提供了强大的数据结构.在Java中的数据结 ...
- Java之旅_高级教程_多线程编程
摘自:http://www.runoob.com/java/java-multithreading.html Java 多线程编程 Java 给多线程编程提供了内置的支持.一条线程指的是进程中的一条执 ...
- Java之旅_高级教程_URL处理
摘自 :http://www.runoob.com/java/java-url-processing.html Java URL 处理 URL(Uniform Resource Locator)中文名 ...
- java之旅_高级教程_java泛型
摘自:http://www.runoob.com/java/java-generics.html JAVA泛型 java泛型(generics)是JDK5中引入的新特性,泛型提供了编译时类型安全检测机 ...
- Java之旅_高级教程_序列化
摘自 :http://www.runoob.com/java/java-serialization.html Java序列化 Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字 ...
- Java之旅_高级教程_Java Mysql连接(1)
工具:Eclipse .mysql5.7 MySQL连接驱动:mysql-connector-java-5.1.27.jar 获取地址:https://dev.mysql.com/downloa ...
随机推荐
- MobaXterm 加装cygwin软件包
上次在<MobaXterm: SSH/X远程客户端, Xmanager的最佳免费替代品>里面介绍了MobaXterm这个Windows上的便携 多合一unix工具箱,它基于Cygwin,集 ...
- Spring Session Redis
http://www.infoq.com/cn/articles/Next-Generation-Session-Management-with-Spring-Session
- 【原】在Matplotlib绘图中添加Latex风格公式
Matplotlib绘图的过程中,可以为各个轴的Label,图像的Title.Legend等元素添加Latex风格的公式. 只需要在Latex公式的文本前后各增加一个$符号,Matplotlib就可以 ...
- Spring Security 指定登陆入口
spring security除通过form-login的熟悉指定登陆还可以通过entry-point-ref 指定登陆入口.具体配置如下: <?xml version="1.0&qu ...
- Java如何替换所有指定(出现)的字符串?
在Java编程中,如何替换所有指定(出现)的字符串? 以下示例演示如何使用Matcher类的replaceAll()方法替换字符串中的所有出现的子字符串. package com.yiibai; im ...
- Oracle DBA神器之Toad
很早就听说Toad功能很强大,一直没有使用过,因为PLSQL Developer就很好用.前几天看见同事优化Oracle就是用的Toad,有一些很强大的管理功能,于是再一次对Toad产生兴趣,收集了一 ...
- windows 同时启动多个Tomcat 控制台日志(startup.bat)输出到指定文件中
1 .修改startup.bat第42行 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%&q ...
- 多线程开发之三 GCD
NSThread.NSOperation.GCD 总结: 无论使用哪种方法进行多线程开发,每个线程启动后并不一定立即执行相应的操作,具体什么时候由系统调度(CPU 空闲时就会执行) 更新 UI 应该在 ...
- cookie是如何保存到客户端,又是如何发送到服务端
Cookie相关的Http头 有 两个Http头部和Cookie有关:Set-Cookie和Cookie. Set-Cookie由服务器发送,它包含在响应请求的头部中.它用于在客户端创 ...
- [JS] ECMAScript 6 - Variable : compare with c#
前言 范围包括:ECMAScript 新功能以及对象. 当前的主要目的就是,JS的学习 --> ECMAScript 6 入门 let 命令 js 因为let, i的范围限制在了循环中. var ...