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 ...
随机推荐
- vue条件与循环
通过vue控制切换一个元素的显示也相当简单: <div id="app-3"> <p v-if="seen">Now you see m ...
- Vue.js常用指令:v-for
一.什么是v-for指令 在Vue.js中,我们可以使用v-for指令基于源数据重复渲染元素.也就是说可以使用v-for指令实现遍历功能,包括遍历数组.对象.数组对象等. 二.遍历数组 代码示例如下: ...
- 【转】iframe页面跳转时,导致父页面滚动!该怎么解决?
HTML code <body> <form id="form1" runat="server"> <iframe id=&quo ...
- linux命令后加一个 &
默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作.对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'&'实现这个目的. ti ...
- 关于tomcat的session问题
因为有需要每一个项目有独立端口,并且能够单独启动和关闭,所以在一台服务器上配置了多个tomcat.tomcat是完全一样的,只是各自的端口不一致. 现在的问题是单独启动一个tomcat完全没有问题. ...
- 使用Sublime Text搭建python调试环境[转]
pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的. 使用IDE无非是图个方便省事,特别是像我这种有些记性差的来说. IDE说起来方便于的几个地方就是: 1.语法颜色高亮 2. ...
- 公众平台返回原始数据为: 错误代码-40164,错误信息-invalid ip, not in whitelist hint
1.登录公众平台,进入开发->基本配置页面 2.点击配置进入IP白名单设置页 3.填写微客助理IP地址:183.63.25.68 4.管理员扫码确认保存 5.设置成功后点击“关闭” 6.修改成功 ...
- [Python] 00 - Books
A.I. & Optimization Advanced Machine Learning, Data Mining, and Online Advertising Services Ref: ...
- Markdown 字体
在 Markdown 中,使用 * 来表示斜体,使用 ** 来表示加粗,使用 <font> 标签来设置字体 .字号与颜色 *我是斜体* **我是粗体** <font face=&qu ...
- iOS - 让WKWebView 支持 NSURLProtocol
iOS8以后,苹果推出了新框架Webkit,提供了替换UIWebView的组件WKWebView.各种UIWebView的问题没有了,速度更快了,占用内存少了,一句话,WKWebView是App内部加 ...