Читаем Программирование на Java полностью

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 задействовать одно и то же число, будет получена та же самая последовательность псевдослучайных чисел.


Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT