Я прочитал данные из файла, взял каждую строку из файла, а затем вставил их в массив. Мне нужно преобразовать эти строки в байты и записать их в хэш-файл на диске.
Я хочу взять каждую строку с одинаковым значением хеш-функции и записать ее в один и тот же сектор на моем диске. До сих пор я упорядочивал их на основе их хеш-значения, что не очень хорошо работало в конце массива, поскольку в нем 1000 элементов, а наибольшее хеш-значение, возвращаемое моей функцией, равно 249.
Линейное зондирование привело к тому, что многие строки оказались не на своем месте, поэтому использование этого массива для записи в мои сектора не будет работать очень хорошо. Как мне это сделать?
Вот мой код того, что я сделал до сих пор, если я не совсем ясно выразился:
private void importFile(String dataFile) {
String line = null;
theDisk.clearDisk();
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader(dataFile));
// List to hold the lines
List list = new ArrayList();
while((line = bufferedReader.readLine()) != null){
list.add(line);
}
String[] strArray = list.toArray(new String[0]);
String[] orderedArray = new String[strArray.length];
for(int i = 0; i < strArray.length; i++) {
String current = strArray;
// Use email as key
String key = current.substring(0,current.indexOf(','));
int index = hashFunc3(key);
if(orderedArray[index] == null) {
orderedArray[index] = current;
} else {
while(orderedArray[index] != null) {
index = index+1;
}
orderedArray[index] = current;
}
}
// Always close files.
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println("Unable to open file '" + dataFile + "'");
}
catch(IOException ex) {
System.out.println("Error reading file '" + dataFile + "'");
}
}
Подробнее здесь: https://stackoverflow.com/questions/399 ... ash-values
Заказ массива с хеш-значениями ⇐ JAVA
Программисты JAVA общаются здесь
1736809093
Anonymous
Я прочитал данные из файла, взял каждую строку из файла, а затем вставил их в массив. Мне нужно преобразовать эти строки в байты и записать их в хэш-файл на диске.
Я хочу взять каждую строку с одинаковым значением хеш-функции и записать ее в один и тот же сектор на моем диске. До сих пор я упорядочивал их на основе их хеш-значения, что не очень хорошо работало в конце массива, поскольку в нем 1000 элементов, а наибольшее хеш-значение, возвращаемое моей функцией, равно 249.
Линейное зондирование привело к тому, что многие строки оказались не на своем месте, поэтому использование этого массива для записи в мои сектора не будет работать очень хорошо. Как мне это сделать?
Вот мой код того, что я сделал до сих пор, если я не совсем ясно выразился:
private void importFile(String dataFile) {
String line = null;
theDisk.clearDisk();
try {
BufferedReader bufferedReader = new BufferedReader(new FileReader(dataFile));
// List to hold the lines
List list = new ArrayList();
while((line = bufferedReader.readLine()) != null){
list.add(line);
}
String[] strArray = list.toArray(new String[0]);
String[] orderedArray = new String[strArray.length];
for(int i = 0; i < strArray.length; i++) {
String current = strArray[i];
// Use email as key
String key = current.substring(0,current.indexOf(','));
int index = hashFunc3(key);
if(orderedArray[index] == null) {
orderedArray[index] = current;
} else {
while(orderedArray[index] != null) {
index = index+1;
}
orderedArray[index] = current;
}
}
// Always close files.
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println("Unable to open file '" + dataFile + "'");
}
catch(IOException ex) {
System.out.println("Error reading file '" + dataFile + "'");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/39929815/ordering-an-array-with-hash-values[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия