Чтение онлайн

на главную - закладки

Жанры

Программирование на Java

Вязовик Н.А.

Шрифт:

В классе Properties определен еще метод list(PrintWriter out), который практически идентичен save. Отличается лишь заголовок, который изменить нельзя. Кроме того, строки усекаются по ширине. Поэтому данный метод для сохранения Properties не годится.

public class Test {

public Test {

}

public static void main(String[] args) {

Test test = new Test;

Properties props = new Properties;

StringWriter sw = new StringWriter;

sw.write("Key1 = Value1 \n");

sw.write(" Key2 : Value2 \r\n");

sw.write(" Key3 Value3 \n ");

InputStream is = new ByteArrayInputStream(sw.toString.getBytes);

try {

props.load(is);

}

catch (IOException ex) {

ex.printStackTrace;

}

props.list(System.out);

props.setProperty("Key1","Modified Value1");

props.setProperty("Key4","Added Value4");

props.list(System.out);

}

}

Пример 14.22.

Результатом будет:

– - listing properties --

Key3=Value3

Key2=Value2

Key1=Value1

– - listing properties --

Key4=Added Value4

Key3=Value3

Key2=Value2

Key1=Modified Value1

Пример 14.23.

Интерфейс Comparator

В коллекциях многие методы сортировки или сравнения требуют передачи в качестве одного из параметров объекта, который реализует интерфейс Comparator. Этот интерфейс определяет единственный метод compare(Object obj1,Object obj2), который на основании определенного пользователем алгоритма сравнивает объекты, переданные в качестве параметров. Метод compare должен вернуть:

– 1 если obj1 < obj2

0 если obj1 = obj2

1 если obj1 > obj2

Класс Arrays

Статический класс Arrays обеспечивает набор методов для выполнения операций над массивами, таких, как поиск, сортировка, сравнение. В Arrays также определен статический метод public List aList(a[] arr), который возвращает список фиксированного размера, основанный на массиве. Изменения в List можно внести, изменив данные в массиве.

public class Test {

public Test {

}

public static void main(String[] args) {

Test test = new Test;

String[] arr = {"String 1","String 4",

"String 2","String 3"

};

test.dumpArray(arr);

Arrays.sort(arr);

test.dumpArray(arr);

int ind = Arrays.binarySearch(arr, "String 4");

System.out.println(

"\nIndex of \"String 4\" = " + ind);

}

void dumpArray(String arr[]) {

System.out.println;

for(int cnt=0;cnt < arr.length;cnt++) {

System.out.println(arr[cnt]);

}

}

}

Класс StringTokenizer

Этот класс предназначен для разбора строки по лексемам ( tokens ). Строка, которую

необходимо разобрать, передается в качестве параметра конструктору StringTokenizer(String str). Определено еще два перегруженных конструктора, которым дополнительно можно передать строку-разделитель лексем StringTokenizer(String str, String delim) и признак возврата разделителя лексем StringTokenizer(String str, String delim, Boolean returnDelims).

Разделителем лексем по умолчанию служит пробел.

public class Test {

public Test {

}

public static void main(String[] args) {

Test test = new Test;

String toParse =

"word1;word2;word3;word4";

StringTokenizer st =

new StringTokenizer(toParse,";");

while(st.hasMoreTokens) {

System.out.println(st.nextToken);

}

}

}

Результатом будет:

word1

word2

word3

word4

Класс BitSet

Класс BitSet предназначен для работы с последовательностями битов. Каждый компонент этой коллекции может принимать булево значение, которое обозначает, установлен бит или нет. Содержимое BitSet может быть модифицировано содержимым другого BitSet с использованием операций AND, OR или XOR (исключающее или).

BitSet имеет текущий размер (количество установленных битов), может динамически изменяться. По умолчанию все биты в наборе устанавливаются в 0 (false). Установка и очистка битов в BitSet осуществляется методами set(int index) и clear(int index).

Метод int length возвращает "логический" размер набора битов, int size возвращает количество памяти, занимаемой битовой последовательностью BitSet.

public class Test {

public Test {

}

public static void main(String[] args) {

Test test = new Test;

BitSet bs1 = new BitSet;

BitSet bs2 = new BitSet;

bs1.set(0);

bs1.set(2);

bs1.set(4);

System.out.println("Length = " + bs1.length+" size = "+bs1.size);

System.out.println(bs1);

bs2.set(1);

bs2.set(2);

bs1.and(bs2);

System.out.println(bs1);

}

}

Результатом будет:

Length = 5 size = 64

{0, 2, 4}

{2}

Проанализировав первую строку вывода на консоль, можно сделать вывод, что для внутреннего представления BitSet использует значения типа long.

Класс Random

Класс Random используется для получения последовательности псевдослучайных чисел. В качестве "зерна" применяется 48-битовое число. Если для инициализации Random задействовать одно и то же число, будет получена та же самая последовательность псевдослучайных чисел.

Поделиться:
Популярные книги

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Гримуар темного лорда III

Грехов Тимофей
3. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда III

Адвокат Империи 8

Карелин Сергей Витальевич
8. Адвокат империи
Фантастика:
городское фэнтези
альтернативная история
аниме
дорама
фантастика: прочее
попаданцы
5.00
рейтинг книги
Адвокат Империи 8

Законник Российской Империи. Том 4

Ткачев Андрей Юрьевич
4. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
дорама
5.00
рейтинг книги
Законник Российской Империи. Том 4

Деревенщина в Пекине

Афанасьев Семён
1. Пекин
Фантастика:
попаданцы
дорама
фантастика: прочее
5.00
рейтинг книги
Деревенщина в Пекине

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных

Кодекс Крови. Книга ХII

Борзых М.
12. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Крови. Книга ХII

Древесный маг Орловского княжества 2

Павлов Игорь Васильевич
2. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 2

Черный дембель. Часть 3

Федин Андрей Анатольевич
3. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 3

Идеальный мир для Лекаря 30

Сапфир Олег
30. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 30

Ты - наша

Зайцева Мария
1. Наша
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Ты - наша

Лекарь Империи 2

Карелин Сергей Витальевич
2. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи 2

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Царь царей

Билик Дмитрий Александрович
9. Бедовый
Фантастика:
фэнтези
мистика
5.00
рейтинг книги
Царь царей