Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/17: Рейтинг темы: голосов - 17, средняя оценка - 4.88
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
1

Передача функции в качестве параметра

13.10.2011, 20:56. Просмотров 3053. Ответов 3
Метки нет (Все метки)

Есть функция которая генерирует строковые переменные и записывает их в файл. В файл они должны записываются по разному(в текстовый, экселевый и с разной стуктурой). У меня уже есть 2 функции с различной реализацией записи в файл. На подходе 3я и не последняя. Как сделать так, чтобы в эту функцию передавалась функция которая работает с файлом, если так можно конечно.
И еще, в итоге в файле около 5000 слов. Как лучше записывать в файл, сначала все сгенерировать, а потом записать, или по ходу генерации(5-20 слов за итерацию).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 20:56
Ответы с готовыми решениями:

Передача имени класса в качестве параметра функции
Добрый вечер! Имеется 3 класса: class Class1 { public static String...

Передача флагов в качестве параметра
День добрый, подскажите пожалуйста, как можно передать флаги в качестве...

Передача функции как параметра
Приветствую. Такой вопрос, мб отчасти бредовый. Можно ли в Джава передать...

Константа в качестве параметра метода - как?
Класс Vehicle хранит информацию о транспортных средствах: скорость,...

Почему в качестве параметра метода main() мы передаём пустой строчный массив?
Добрый Вечер!!! Скажите Пожалуйста, почему в качестве параметра метода main()...

3
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
13.10.2011, 22:35 2
сделай функцию обёртку, которая будет по параметру (например enum {TEXT, XLS, SOMETH}) вызывать нужную из 3 и более, по мере дописывания новых будешь апгрейдить enum и обёртку

Добавлено через 7 минут
5000 слов зависит от того как они у тебя лежат, если под каждое слово объект String то 5000 это много памяти, если в одном объекте то мало. по 5-20 это совсем мало, у меня на буке например вполне резво всё летает при 4000 стринг объектах, а на 14000 начинает захлёбываться, как минимально гарантированная скорость думаю покатит 1000 слово обьектов, а если ты их все складёшь в StringBuilder или в StringBuffer то 5000 это мелочь, билдер и буфер могут смело тянуть 100000
1
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
13.10.2011, 23:08  [ТС] 3
спасибо за интересные цифры
0
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
14.10.2011, 00:00 4
сори за неумышленную дезу, техника всё круче, а предыдущие цифры уже устарели
знач так i5 460m RAM=3GB Linux 64bit

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.ArrayList;
import java.util.Vector;
 
public class StringCount {
 
    public static void main(String[] args) {
        String base = "reallysuperbigwordintheworld";
        int count = 500000;
        Vector<String> vs = new Vector<String>();
        ArrayList<String> as = new ArrayList<String>();
        long startMemoryUse = getMemoryUse();
        for (int i = 0; i < count; i++) {
            vs.add(new String().concat(base));
        }
        long endMemoryUse = getMemoryUse();
        System.out.println("Vector = " + Math.round((endMemoryUse - startMemoryUse)) + " bytes");
        System.gc();
        System.runFinalization();
        startMemoryUse = getMemoryUse();
        for (int i = 0; i < count; i++) {
            as.add(new String().concat(base));
        }
        endMemoryUse = getMemoryUse();
        System.out.println("ArrayList = " + Math.round((endMemoryUse - startMemoryUse)) + " bytes");
    }
 
    private static long getMemoryUse() {
        return (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory());
    }
}

Vector = 58507080 bytes
ArrayList = 56507472 bytes

Добавлено через 2 минуты
метод concat чтобы не давать переиспользовать статическую строку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2011, 00:00

Статический метод, который принимает строку в качестве параметра и выводит ее на экран в обратном виде
Здравствуйте! Нужно создать статический метод, который принимает строку в...

2. Функция: возвращает true, если число, переданное в качестве параметра, является частичной суммой ряда
Ребят помогите в написании кода, никак не въеду даже в задание 1. Название:...

передача параметра
Всем привет. Помогите, пожалуйста разобраться с программой. package traser; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru