kotlin 을 이용 하여 통계 파일 문자 개 수 를 실현 하 는 방법 예시

머리말
개발 자 들 에 게 통계 파일 의 문자 개 수 는 흔히 볼 수 있 는 프로그램 이다.오늘 은 방금 배 운 kotlin 을 이용 하여 이 루어 보 겠 습 니 다.다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 해 봅 시다.
방법 은 다음 과 같다.
우선 통계 할 파일 을 찾 아 라.

val file = "F:\\MyBook\\     .txt"
그리고 통계 결 과 를 저장 하기 위해 HashMap 을 만 듭 니 다.

val map = HashMap<Char, Int>()
파일 내용 을 읽 고 Char 로 변환 하여 통 계 를 옮 겨 다 니 기

File(file).readText().toCharArray().filterNot(Char::isWhitespace).forEach {
  val count = map[it]
  if (count == null){
   map[it] = 1
  }else{
   map[it] = count +1
  }  
 }
readText()파일 내용 을 읽 는 거 예요.toCharArray()Char 배열 로 전환filterNot(Char::isWhitespace)공백 무시
옮 겨 다 닐 때 현재 옮 겨 다 니 는map[it]을 count 에 부여 합 니 다.map 에서 이 문 자 를 찾 지 못 하면count == null첫 번 째 기록 입 니 다.map[it]은 1 입 니 다.그렇지 않 으 면map[it] 기 록 했 습 니 다.기 존 계산 에 1 을 추가 합 니 다.
최종 출력 통계 결과

map.forEach { t, u -> println("  \"$t\"    $u  ")}
실행 효 과 는 다음 과 같다.

            
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  "。"    1  
  " "    1  
  " "    1  
  "★"    5  
  "("    1  
  " "    1  
  ")"    1  
  "《"    1  
  "》"    1  
  ","    2  
  " "    1  
  " "    1  
  " "    2  
  " "    1  
  ":"    1  
  " "    1  
  " "    1  
  " "    1  
  "-"    2  
  "."    2  
  "0"    4  
  " "    1  
  "1"    6  
  "2"    3  
  "3"    2  
  "6"    3  
  " "    1  
  " "    1  
  "G"    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    2  
  "d"    1  
  "f"    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  " "    1  
  "o"    1  
  "p"    1  
  " "    1  
  " "    1  
위의 읽 기 는 아직 간결 하지 않 습 니 다.우 리 는 좀 더 간소화 할 수 있 습 니 다.HashMap 을 설명 할 필요 가 없습니다.

val file = "F:\\MyBook\\     .txt"
File(file).readText().toCharArray().filterNot(Char::isWhitespace).groupBy{it}.map {
  it.key to it.value.size
 }.forEach{
  println("  \"${it.first}\"    ${it.second}  ")
 }
똑 같이 효과 가 있 습 니 다.이것 이 야 말로 함수 식 프로 그래 밍 이다.
첨부:HashMap 구성 도

총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기