자바 IO 흐름 을 사용 하여 배열 정렬 인 스 턴 스 설명

자바 에서 io 흐름 을 사용 하 는 것 을 배 운 후에 우 리 는 배열 의 정렬 에 대해 또 하나의 사용 방법 이 생 겼 다.스 트림 처리 데이터 의 효율 이 비교적 이상 적 이라는 것 을 잘 알 고 있 습 니 다.그러면 구체 적 인 배열 정렬 에 있어 많은 사람들 이 정렬 방법 에 대해 명확 하지 않 습 니 다.다음은 자바 가 스 트림 을 사용 하여 배열 의 정렬 방향 을 정리 한 다음 에 해당 하 는 인 스 턴 스 코드 방법 을 가 져 옵 니 다.
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("            :
"); String a1=bfr.readLine(); // a1 int i=Integer.parseInt(a1); // System.out.println(" "+i+" :
"); // 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("
"); for(int t=0;t<=i;t++){ System.out.println(a[t]); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }
인 스 턴 스 확장:
키 보드 는 5 명의 학생 정보(성명,국어 성적,수학 성적,영어 성적)를 입력 하고 총 점 에 따라 높 은 점 에서 낮은 점 으로 텍스트 파일 을 저장 합 니 다.
코드:

public class TreeSetDemo {
  public static void main(String[] args) throws IOException{
    //  TreeSet  ,             Comparator  
    TreeSet<Student> ts=new TreeSet<Student>(new Comparator<Student>() {
      //  Comparator    compare()  
      @Override
      public int compare(Student s1,Student s2) {
      //      :   ,       
      int num1=s2.sum(s2)-s1.sum(s1);
      //      ,                
      int num2=(num1==0)?s2.getName().length()-s1.getName().length():num1;
        return num2;
      }    
    });
    //        
    System.out.println("       :");
    for(int x=1;x<6;x++) {
      Scanner sc=new Scanner(System.in);
      System.out.print("    "+x+"      :");
      String name=sc.nextLine();
      System.out.print("    "+x+"        :");
      int chineseScore=sc.nextInt();
      System.out.print("    "+x+"        :");
      int mathScore=sc.nextInt();
      System.out.print("    "+x+"        :");
      int englishScore=sc.nextInt();
      //                
      Student s=new Student();
      s.setName(name);
      s.setChineseScore(chineseScore);
      s.setMathScore(mathScore);
      s.setEnglishScore(englishScore);
      //           
      ts.add(s);
    }

    //           
    BufferedWriter bw=new BufferedWriter(new FileWriter("18-1.txt"));
    //  
    for(Student s:ts) {
      //  StringBuffer      ,             
      StringBuffer sb=new StringBuffer();
      sb.append(s.getName()).append(",").append(s.getChineseScore()).append(",").append(s.getMathScore())
      .append(",").append(s.getEnglishScore()).append(",").append(s.sum(s));
      //          
      bw.write(sb.toString());
      //  
      bw.newLine();
      //   
      bw.flush();
    }
    //   ,    
    bw.close();
  }
}
자바 가 IO 스 트림 을 사용 하여 배열 정렬 인 스 턴 스 를 설명 하 는 이 글 은 여기까지 입 니 다.더 많은 자바 가 스 트림 을 사용 하여 배열 정렬 내용 을 어떻게 사용 하 는 지 에 대해 서 는 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기