Java中数组的相关操作
来源:互联网 发布:js数组删除元素 编辑:程序博客网 时间:2024/05/16 09:42
Java中数组的相关操作
1) 在Java中,所有的数组都有一个缺省的属性length,用于获取数组中元素的个数。
2) 数组的复制:System.arraycopy()。
3) 数组的排序:Arrays.sort()。
4) 在已排序的数组中查找某个元素:Arrays.binarySearch()。
数组的复制
对于System.arraycopy可以用来复制一个基本数据类型的数组,也可以复制一个类的对象。如:
int []num1=new int []{2,1,3};
int []num2=new int[3];
System.arraycopy(num1,0,num2,0,num1.length);
Arrays.sort(num2);
复制类的对象:
Student []st1=new Student[]{new Student(1,"zhangshan"),new Student(2,"lisi"),new Student(3,"wangwu"),new Student(3,"qiyuan")};
Student []st2=new Student[4];
System.arraycopy(st1,0,st2,0,st1.length);
数组的排序
对于sort,可以直接对基本数据类型的数组进行排序,但对于一个类的对象,则必须实现Comparable接口中的compareTo(Object o)方法,此方法返回一个int 类型的数,根据前者大于、等于和小于相应的返回正数、0和负数。
class Student implements Comparable
{
int num;
String name;
Student(int num,String name)
{
this.num=num;
this.name=name;
}
public String toString()
{
return "number="+num+",name="+name;
}
public int compareTo(Object o)
{
Student st=(Student)o;
int result=num>st.num?1:(num==st.num?0:-1);
if(result==0)
{
result=name.compareTo(st.name);
//String类已经实现了Comparable接口,故可以直接调用compareTo方法
}
return result;
}
}
此时可以直接用Arrays.sort(st2);来对st2进行排序。排序的依据是根据Student类的num大小来定,如果num大小相同的,则比较name,再根据name来排序。
数组的查找
int index=Arrays.binarySearch(num2,2);
System.out.println("index="+index);
System.out.println("number="+num2[index]);
index=Arrays.binarySearch(st2,new Student(1,"zhangshan"));
System.out.println("index="+index);
System.out.println("number="+st2[index].num+",name="+st2[index].name);
- Java中数组的相关操作
- java 数组的相关操作
- js中数组,对象 的相关操作
- js中数组的相关操作
- Java有序数组的相关操作
- 数组的相关操作
- 数组的相关操作
- java中数组的相关操做
- java中数组的相关操做
- java中时间相关的操作
- JAVA中File的相关操作
- Java中关于时间的相关操作
- java中File类的相关操作
- java中对SVN的相关操作
- java中map的相关操作
- Java中jdbc的相关操作
- java中int,integer相关的操作
- 日常笔记:js中数组的相关操作
- bbb
- 代码重构
- 网络编程上
- c#中异步基于消息通信的完成端口的TCP/IP协议的组件实现(客户端-源代码)
- 多线程-创建线程
- Java中数组的相关操作
- 排序算法集合(java版):网上收集未测试
- 网络编程下
- c#中异步基于消息通信的完成端口的TCP-IP协议的组件实现(服务器端-源代码)
- VSS 2005 配置简明手册
- 实现按回车提交功能
- SqlDataAdapter利用SqlCommand执行存储过程
- 剩余书目查询(二)
- SqlDataAdapter与SqlCommand得区别