100G짜리 큰 파일에서 100개의 가장 큰 수를 찾아내다
2727 단어 큰 문서
public class Pick100 {
//TreeSet
private TreeSet<Double> treeSet = null;
public Pick100(){
treeSet = new TreeSet<Double>();
}
/**
* treeSet
* @param fileName
*/
public void doPick(String fileName){
File file = new File(fileName);
InputStream is = null;
// 1024
byte[] b = new byte[1024];
try {
is = new BufferedInputStream(new FileInputStream(file));
//
while(is.read(b) > 0){
//
String str = new String(b);
//
String[] numArr = str.split(",");
// ,
String lastNum = "";
//
for(int i=0;i<numArr.length;i++){
String numStr = numArr[i];
Double num = new Double(numStr);
if(i == 0){
if(lastNum != null){
numStr = lastNum+numStr;
}
}else if(i == numArr.length-1){
lastNum = numStr;
}else{
treeSet.add(num);
}
if(treeSet.size()>100){
treeSet.remove(treeSet.first());
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* treeSet
*
*/
public void print(){
Iterator<Double> it = treeSet.iterator();
while(it.hasNext()){
Double db = it.next();
System.out.println(db);
}
}
public static void main(String[] args){
Pick100 pick = new Pick100();
pick.doPick("numbers.txt");
pick.print();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
큰 파일 의 정렬 과 무 게 를 줄 이 는 것 은 매우 간단 하 다.한 학교 에서 학생 을 모집 하 는 면접 문 제 는 큰 파일 (예 를 들 어 1T) 을 줄 에 따라 정렬 하고 무 게 를 제거 하 는 것 이다. 간단 한 해결 방안 은 큰 파일 의 단어 크기 가 고 른 몇 개의 작은...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.