在学会了java中io流的使用后,我们对于数组的排序,又多了一种使用方法。大家知道流处理数据的效率是比较理想的,那么在具体操作数组排序上,很多人对于排序的方法还没有明确。下面我们先java使用流对数组排序的思路为大家进行梳理,然后带来对应的实例代码方法。
1、排序思路
(1)从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取
(2)询问用户需要多少位数的数组
(3)转换为数字类型
(4)将用户输入数字存入数组
(5)把数组按排序需求并打印出来
2、实例
public static void main(String[] args) { // TODO Auto-generated method stub try { //数组a()的数字个数,由用户输入决定 InputStreamReader isr=new InputStreamReader(System.in); //从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取 BufferedReader bfr=new BufferedReader(isr); //询问用户需要多少位数的数组 System.out.println("请输入需要多少位数的数组:\n"); String a1=bfr.readLine(); //将a1转换为数字类型 int i=Integer.parseInt(a1); //提示用户输入数组数据 System.out.println("请向数组中存入"+i+"个数据:\n"); //将用户输入数字存入数组 Integer[] a=new Integer[i]; for(int j=0;j<i;j++){ System.out.println("第"+(j+1)+"个:"); a[j]=new Integer(bfr.readLine()); } //把数组按升序排序并打印出来 for(int k=1;k<i;k++){ for(int m=0;m<(i-k);m++){ if(a[m]>a[m+1]){ //Integer temp=new Integer(0); int temp=0; temp=a[m]; a[m]=a[m+1]; a[m+1]=temp; } } } //输出排序后的数组 System.out.println("排序后\n"); for(int t=0;t<=i;t++){ System.out.println(a[t]); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }
以上就是java使用流对数组排序的方法,大家可以先对基本的解决思路进行一个了解,然后结合字符输入流进行操作。更多Java学习指路: