Java Flashcards
Как объявить константу, доступную нескольким методам класса? Какие модификаторы доступа она должна иметь?
Вне метода, в рамках класса. static и final.
Как вычислить квадратный корень из числа?
double х = 4;
double у= Math.sqrt(x);
System.out.println(y);
Как возвести в степень?
double у= Math.pow(x,a); //второе число - степень.
Как округлить число с плавающей точкой до ближайшего целого числа? Почему необходимо приведение?
double х = 9.997;
int nx = (int)Math.round(x);
Значение, возвращаемое методом round (), относится к типу long и поэтому может
быть присвоено переменной типа int только с явным приведением.
Дано: String s = “Hello”;
Как сделать из нее “Hell”
String s1 = s.substring (0,4);
Как создать строку из строк, разделенную определенным знаком? Например, “/”?
String all = String.join(“ / “, “S”, “М”, “L”, “XL”);
//в итоге переменная all содержит строку “S / М / L / XL
Как проверить идентичность строк, игнорируя регистр?
“Hello”.equalsignoreCase(“hello”);
Как определить символ в строке по номеру символа?
String greeting = “Hello”;
char first = greeting.charAt(0);
//первый символ - ‘Н’
Какой метод возвращает true, если строка начинается или заканчивается указанной в нем подстрокой?
• String Str = new String("Добро пожаловать на ProgLang.su"); System.out.println(Str.startsWith("Добро пожаловать") );
Возвращаемое значение: true
• boolean endsWith(Strinq suffix);
//в скобках то, с чего начинается/заканчивается.
Как найти индекс определенного фрагмента строки str в другой строке? Что вернет метод, если ничего не найдет?
String hello = “Hello”;
int index1 = hello.indexOf(‘H’);
Где находится класс String и все его методы?
java.lang.String
Как “вырезать” кусок строки с определенного места? С определенного места до определенного места?
String Str = new String(“Добро пожаловать на ProgLang.su”);
System.out.println(Str.substring(5));
tem.out.println(Str.substring(5, 15));
Как поменять все буквы строки на маленькие/большие?
toLowerCase ();
toUpperCase ();
Как вернуть исходную строку n раз?
String repeat (int count);
Есть необходимость поэтапно добавлять в объект строки, после перевести его в String. Как это сделать?
StringBuilder builder = new StringBuilder(); //создать
builder.append(ch); // добавить единственный символ
builder.append(str); //добавить символьную строку
String completedString = builder.toString(); //перевести в строку
Как добавить строку в StringBuilder?
StringВuilder append (String str) ;
Как вставить в StringBuilder строку на определенное место? Сколько параметров?
StringBuilder insert (int n, String str) ;
Как создать объект для считывания информации?
Scanner in = new Scanner(System.in);
Как считать строку и помесить ее в переменную класса Scanner?
Scanner in = new Scanner(System.in); String name = in.nextLine();
Когда два объекта StringBuilder будут выдавать true, equals ?
Только тогда, когда они ссылаются на один объект.
Что можно использовать для создания String?
Массив типа char
char [] arr = new char [] {'p','r','i', 'v', 'e', 't'} ; String s = new String(arr);
Как написать метод, получающий сколько угодно параметров int и печатающий их сумму?
Чем по сути является эта переменная?
public static void sum(int ... a) { int summa = 0; for (int i = 0; i < a.length; i++) { summa+=i; Sout(summa); } }
это обычный массив.
только один.
Сколько varargs переменных может быть в параметре?
Где должен стоять vararhs параметр?
Один.
В конце листа параметров.
Что нельзя ставить в список перезаписанных методов вместе с varargs и почему?
в параметре не может быть массив, потому что varargs переменная и есть массив .
Что можно вписать вместо varargs переменной? При желании.
Обычный массив.
Какие два способа удалить элемент из ArrayList?
remove();
по индексу и по значению.
Мы clone() клонировали ArrayList или задали в конструкторе new ArrayList <> (list3); какой-то другой ArrayList. На что будут ссылаться новосозданные ArrayList?
Будут новые ссылки на уже существующие объекты. И оригинал и клон содержат ссылки на одно и тоже.
Как создать массив StringBuilder из ArrayList? Массив Object?
StringBuilder [] arraySB = list.toArray(new
StringBuilder[10]);
где list - наш ArrayList, 10 - размер нового обычного массива.
тот же метод без параметров.
(!!!) Ново созданный массив ссылается на те же объекты, что и ArrayList.
Как перевести массив в список List?
Что уже никогда не изменится в этом List?
List list = Arrays.asList(массив);
Длина.
На что указывают ссылки новосозданного массива методом toArray()?
На объекты изначального List.
Как создать из массива список?
StringBuilder [] array = { sb1, sb2, sb2 };
List list = Arrays.asList(array);
Как отсортировать ArrayList?
Collections.sort(arrayList);
Как использовать метод equals() на ArrayList?
Каким образом перезаписан equals для ArrayList?
arraylist1.equals(arraylist2);
true будет когда оба содержат одинаковые элементы в одинаковом порядке.
Где лежит Iterator?
java.util.Iterator;
Как создать Iterator?
Iterator it = list1.iterator();
где list1 - наш ArrayList, в <> тип ArrayList
Как пройтись по коллекции с помощью итератора и вывести на экран элементы?
Iterator it = list1.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
Как удалить элемент с помощью итератора?
Iterator it = list1.iterator();
while(it.hasNext()) {
it.next();
it.remove();
}
Как сравнить два массива лексикографически?
Что возвращает метод?
System.out.println(Arrays.compare(array1, array2);
-1, если элементы первого массива “выше лексиграфически = выше в словаре” второго,
+1, если “ниже”
0, если равны
Как, сравнивая два массива, узнать место, где их значения становятся разными?
Что возвращает метод?
System.out.println(Arrays.mismatch(array1, array2);
если одинаковые -1;
иначе индекс расхождения.
Какой метод позволит удалить из ArrayList все элементы, содержащие элементы другого ArrayList?
arraylist1.removeAll(arraylist2);
Как оставить в ArrayList только те элементы, которые есть в другом ArrayList? Какому методу противоположен этот метод?
arraylist1.retainAll(arraylist2);
Как вырезать кусок ArrayList?
Какой тип будет куска?
Что будет с исходным ArrayList, если в его subList добавить элемент?
List list = arraylist1.subList(1,3);
List.
Элемент добавится и в него.
Как создать и заполнить List без использования метода add();
Как копировать коллекцию, сделав ее неизменяемой?
Какое свойство созданных List?
List list = List.of(“один”, “два”, “три”);
List list2 = List.copyOf(list);
неизменяемый.
Как передать переменной s i-тый элемент массива String?
String s = new String [] {“A”, “B”,”C”} [i];
Какой возвращаемый тип у геттера и что в параметрах?
Тип переменной, в параметрах ничего.
Какой возвращаемый тип у сеттера и что в параметрах?
Тип void, принимают изменяемое значение.
Как сделать так, чтобы геттер не позволял изменять свою переменную? Например, геттер типа StringBuilder?
В геттере нужно создать новую переменную и приравнять ее к старой. Возвращать нужно копию.
В классе есть несколько overloaded конструкторов, как вызвать один из другого?
this()
в параметры которого нужно вписать те переменные того же типа в том же порядке, что и в конструкторе, который мы вызываем.
Какое необходимое условие должен соблюдать класс, чтобы быть унаследованным?
быть public
Что такое overriding метода?
Каким должен быть метод?
Это изменение non-static, non-final метода, который он унаследовал от родительского класса.
Что должно соблюдаться при overrinding метода?
Такое же имя, список параметров и return type ( или это subclass нашего return type)
Что такое binding?
Определение, какой из перезаписанных методов вызовется, основываясь либо на реально созданном объекте, либо на типе данных ссылочной переменной.
Какие методы не могут быть перезаписаны? и, соответственно, какой binding?
private, static, final
compile time binding
Когда вызывается метод, основанный на реально созданном объекте? Какой binding?
Когда метод НЕ private, static, final.
Runtime = dynamic
Когда вызывается метод, основываясь на типе ссылочной переменной?
Какой binding.
Когда метод private, static, final.
Compile time = static
Если в параметрах метода ссылочная переменная, то какой метод вызовется и какой будет binding?
Вызовется тот метод, который определяется ТИПОМ этой переменнной.
Compile time;
Какой интерфейс необходим для использования для использования лямбда выражений?
Функциональный интерфейс, с одним лишь методом, который надо перезаписать.
По сути, чем является лямбда выражение и что позволяет лямбда выражение?
Можно думать о лямбда как об анонимных методах.
Позволяют нам внутрь параметр листа метода записывать метод.
Чтобы использовать лябмда мы должны?
В параметры метода вписать в круглые скобки объект, имплементирующий функциональный интерфейс, поставить стрелку и перезаписать один единственный его метод.
В чем разница методов next() и nextLine() в классе Scanner?
ййй
Какой метод служит для считывания числа? Числа с точкой?
System.out.print(“How old are you? “);
int age = sc.nextInt();
double age1 = sc.nextDouble () ;
Где находится класс Scanner?
import java.util.*;
Как проверить, есть ли следующее слово в потоке?
Что возвращает метод?
while (sc.hasNext()) {
System.out.println(scan.next());
}
Как проверить, есть ли следующее число в потоке?
- boolean hasNextInt()
* boolean hasNextDouble ()
Как вывести число, с дробной частью в двух знаках?
System.out.printf(“%.2f”, х);
Как определить ширину поля в семь символов?
Как сделать отступ справа или слева?
System.out.printf(“%8.2f”, х);
добавить минус перед 8;
При считывании информации с файла, что мы должны сделать в первую очередь?
Создать объект класса File c указанием пути к файлу:
File file = new File (“C:\Users\Admin\Desktop\myfile.txt”);
Создать объект класса Scanner и задать в параметры наш файл.
Scanner sc = new Scanner(file);
Как вывести на экран все строки нашего файла?
File file = new File ("C:\\Users\\Admin\\Desktop\\myfile.txt"); Scanner sc = new Scanner(file); while(sc.hasNextLine()) { System.out.println(sc.nextLine()); }
Что нужно делать в конце работы Scanner?
sc.close();
чтобы освобождать ресурсы
Как разделить строку на несколько по определенному “разделителю”?
Что возвращает метод?
String Str = new String(“Разделяем эту строку на слова”);
for (String retval : Str.split(“ “)) {
System.out.println(retval);
}
Массив строк.
Какой метод принимает на вход строку и возвращает число?
int x =Integer.parseInt(“9”);
double c = Double.parseDouble(“5”);
Как объявить массив?
int [] а;
Напиши простой способ объявления и инициализации массива.
int [] smallPrimes = { 2, 3, 5, 7, 11, 13 };
Как заполнить массив числами от 0 до 99 в цикле?
int [] а= new int[100];
for (int i = 0; i < 100; i++)
a[i] = i;
Чем инициализируются все элементы массива при его создании?
Нулями.
Как определить количество элементов в массиве? На что обратить внимание?
имя_массива.length.
без скобок, это не метод.
Как перебрать массив с помощью for each? Пример.
for (переменная : коллекция) что делаем.
пример:
for (iпt elemeпt : а)
System.out.printlп(elemeпt);
Как вывести все значения массива с помощью одного метода?
System.out.println(Arrays.toString(array));
Как создать два массива, чтобы изменяя значение одного элемента массива мы изменяли значение элемента второго массива на той же позиции?
int [] array1 = {1,2,3};
int [] array2 = array1;
Как копировать один массив в другой? Что указывается вторым параметром метода?
int [] copy = Arrays.copyOf ( array1, array1.length);
длина массива.
Как отсортировать массив?
Arrays.sort(array);
Как копировать массив в массив с определенного элемента по определенный элемент?
Arrays.copyOf (array[] а, int start, int end);
Как получить индекс элемента в массиве по его значению?
Arrays.binarySearch(array1, 2);
где array1 - массив, 2 - значение, индекс которого мы ищем.
Как быстро заполнить массив одним элементом?
Заполнить десятиместный массив шестерками?
int [] array = new int [10];
Arrays.fill(array, 6);
Что такое method hiding?
Это перекрытие static методов из родительского класса в дочернем.
Какие требования для method hiding?
- Имя такое же
- Список аргументов такой же
- Return type такой же или дочерний класс return типа родительского класса.
- Access модификатор такой же или менее строгий.
Что можно делать override?
Все методы НЕ static, НЕ final, НЕ private
Что можно сделать hide?
- static методы
2. non-private переменные.
Какие методы не могут быть ни override, ни hide?
final методы.
т.е. если мы хотим сделать так, чтобы метод не перезаписывался ни в одном из дочерних классов, что надо сделать?
добавить final.
Как создать объект абстрактного класса?
Может ли абстрактный класс быть final?
Никак.
Нет, абстракт подразумевает перезапись, а final - что потомков не будет. Не может.
Что может быть abstract?
Классы или методы.
Переменные нет.
Какие три сочетания abstract c модификаторами недопустимы?
final + abstract
private + abstract
static + abstract
java7. Какие методы может содержать интерфейс?
Что нужно обязательно указать при перезаписи абстр. метода интерфейса в классе?
Только абстрактные и только public.
Что он public.
Как создать интерфейс?
interface Help_able { //тело. }
Какой порядок extends implements?
Сначала extends, потом implements
Какие переменные может содержать интерфейс? Какие модификаторы у них есть по умолчанию?
Только константы.
public, final, static
Возможно ли создать объект интерфейса?
Нет, это не класс.
Как работает правило с одним public?
В классе должен быть только один класс или интерфейс с модификатором public. Название файла должно повторять название класса.
В случае, если мы создаем объект ссылаясь на интерфейс, как использовать методы самого класса, а не интерфейса?
Нужно написать класс перед именем объекта и взять в скобки всё.
Что может наследовать интерфейс кроме класса?
Другой интерфейс.
Как сделать метод, имеющий тело, в интерфейсе?
Добавить default.
Какие модификаторы не может иметь default метод в интерфейсе?
static, final, abstract.
Java8. Какое отличие static методов в интерфейсе и в классе?
В интерфейсе можно вызвать static метод только по имени интерфейса.
Что обязан иметь static метод в интерфейсе?
Тело.
Java9. Какой модификатор стал доступен для методов интерфейса с Java9?
Где используется?
Private методы.
Только внутри интерфейса.
Что такое полиморфизм?
Способность метода вести себя по разному в зависимости от того, объект какого класса вызывает этот метод.
Как проверить, является ли объект объектом определенного класса? Есть ли связь is-a?
Можно ли проверять не только на классы?
System.out.println(emp1 instanceof Employee);
Да, можно проверять, имплементирует объект интерфейс.
System.out.println(emp1 instanceof Help_able);
Когда возможет кастинг reference переменных? Что нужно не забыть?
Какой это кастинг?
Только когда между ними есть связь is-a. Скобки нужно не забыть.
Восходящий. Мы кастим объект child класса в объект parent класса.
Какое условие для сравнения двух объектов с помощью == ?
Должны иметь is-a связь, иначе компилятор не пропустит даже написать.
Дан массив Employee, наполненный Driver, Teacher, Doctor и тд. Как работать только с Driver?
Employee [] array = {dr1,tc1,dc1}; for (Employee e: array) { if (e instanceof Driver) { //код }
Три условия, когда происходит narrowing без кастинга у примитивов?
- int кастим в byte, short, char.
- int это константа (= не ссылка)
- если int помещается в соответствующий тип данных.
Как получить true, имея два идентичных массива?
Arrays.equals(array1, array2);
Какие non-access модификаторы существуют?
final, static, abstract.
К чему может относиться final?
Переменная, метод, класс.
Что сделает с переменной final?
Сделает ее неизменяемой = константой.
Когда нужно инициализировать final переменные?
Сразу же или в каждом конструкторе.
Как создать конструктор?
Имя_Kласса () {}
Что означает final для ссылочной переменной? Что может изменяться?
Что ее адрес не может быть изменен.
Переменные самого объекта.
Есть объект типа Human, у него есть машина типа Car, у Car есть переменная Color. Как изменить цвет машины человека?
h.c.color = “blue”;
h - объект типа Human, c - объект типа Car.
Если нужно сделать счетчик созданных объектов, где логично инкрементировать его? Каким должен быть счетчик?
В конструкторе. Статическим.
Что может быть static? Какое основное свойство?
переменные и методы. Принадлежат целому классу.
- Использовать СТАТИЧНУЮ переменную в НЕ СТАТИЧНОМ методе?
- Использовать СТАТИЧНУЮ переменную в СТАТИЧНОМ методе?
- Использовать НЕ СТАТИЧНУЮ переменную в СТАТИЧНОМ методе?
- Использовать НЕ СТАТИЧНЫЙ метод в СТАТИЧНОМ методе?
- Да. Она и так существует.
- Да. Они существуют независимо друг от друга.
- Нет. Для нее нужно создание объекта, статичному методу не нужно.
- Нет. Только при условии, что был создан объект и он ссылается на него.
Как изменить нестатическую переменную в статическом методе?
Внутри стат.метода создать объект и используя ссылку на него изменить переменную.
Что напрямую не могут вызывать статичные переменные и методы? Как могут не на прямую?
нестатичные переменные и методы. Только с помощью создания объекта внутри себя.
final переменные нужно объявить или сразу, или в конструкторе. Что будет, если добавить static?
только сразу. В конструкторе уже нельзя, static не обязывает нас создать объект.
Какие четыре группы переменных существуют? Коротко описать каждую.
- Local variable - переменная внутри метода.
- Parameter - переменная внутри метода + параметры.
- Instance = переменная объекта.
- Static - принадлежит всему классу.
Когда нельзя использовать this. ?
При обращении к переменным и методам внутри static метода.
На что указывает this?*
На то, что мы обращаемся к переменной уже созданного (!) объекта.
Когда мы подставляем reference тип данных внутрь параметра, что на самом деле передается в параметр?
Его копия, ссылающаяся на этот же объект.
Пример, когда нужно было поменять местами два объекта.
Т.е., если мы хотим поменять два объекта места, как это можно сделать?
(Не уверен, что это единственный способ.)
Можем поменять местами все его переменные, но сами объекты останутся на своих местах.
Как в цикле for задать условие, чтобы i было одновременно больше 10 и меньше 20?
for (int i = 1; i >10 && i < 20; i++) {}
Что необычное может быть в цикле for, где мы обычно пишем i++?
(место называется update)
Туда можно вставить вызов метода.
Как в цикле for задать несколько ubdate? Где можно записать update statement?
Через запятую.
В теле цикла, ничего не изменится.
Какое значение принимает condition statement цикла for ( ; cond.stat; ) {}
boolean.
любое булево значение.
Какие границы у операторов break и continue?
Фигурные скобки любого цикла.
Какая разница между continue и break?
break; заканчивает целиком цикл.
continue; одну его итерацию, дальше цикл бежит дальше.
Как работает НЕ перезаписанный метод equals() ?
Он работает точно также, как что?
Когда переменные ссылаются на один и тот же объект.
==
Как метод equals() выглядит в классе Object?
public boolean equals(Object obj) {
return (this==obj)
}
Класс Person c двумя полями, как перезаписать метод equals, чтобы было true, когда name и surname одинаковы?
public boolean equals(Object o) { if (o instanceof Person2) { if (((Person2) o).surname==this.surname && ((Person2) o).name==this.name ) return true; } return false;
Какая одна из самых частых ошибок при перезаписи equals()?
public boolean equals(Object o) {}
В параметрах должен быть Object o и ничего другого. Иначе метод перегруженный, а не перезаписанный.
Можно ли вызвать какой-либо метод на null?
Нет.
Какая сигнатура у метода toString() ?
public String toString(){
}
Как перевести String в int?
Как это работает с Boolean?
int i = Integer.parseInt(“50”);
Boolean b = Boolean.parseBoolean(“true”); // всё, что не “true” будет false.
Что делает метод valueof()?
Создает новый объект wrapper класса, на котором был вызван данный метод.
Пример valueof() c double.
Double d = Double.valueof(3.14)
Как называется блок кода вне метода?
Инициализатор.
Какая разница между статическим и нестатическим инициализатором?
Статический срабатывает один раз, нестатический - каждый раз, когда создается новый объект.
Как создать инициализатор?
Написать код в классе, но вне метода в { }
Что сработает раньше, нестатический инициализатор или конструктор?
Сначала инициализатор, после конструктор.
Как создать статический инициализатор?
В классе, вне метода
static { }
Где еще можно задать значение static final переменной, кроме как сразу же?
В статическом инициализаторе.
class Животное {
int количествоБлох = 0;
static int Количество лап = 0;
void чесаться () {Sout(“Животное чешется”);
static void бегать() {Sout(“Животное бегает”)
}
}
class Собака extends Животное {
int количествоБлох = 5;
static int Количество лап = 4;
void чесаться () {Sout(“Собака чешется”);
static void бегать() {Sout(“Собака бегает”)
}
}
Животное ж = new Собака(); Sout(ж.количествоБлох); Sout(ж.количествоЛап); ж.чесаться(); ж.бегать();
Что выведется на экран?
ПОЧЕМУ?
0
0
переменные -compile time - значит по типу переменной, тип Животное, значит 0, 0.
non-static метод определяется runtime - значит на основе реально созданного объекта, значит из класса Собака.
static метод - compile time - значит снова по типу переменной - значит из Животного.
Как работает блок try { } при ловле исключений?
Мы помещаем туда тот код, который способен выкинуть исключение.
Что мы вписываем в параметры catch() ?
catch(тип_исключения имя_исключения) { }
Блоки try, catch, finally. Сколько может быть каких?
Один try, много catch, один finally.
Какая разница между checked и unchecked исключениями?
в unchecked виноват программист. Checked указывают на ту часть кода, которая находится за пределами контроля программы и должна обрабатываться.
Checked всегда или объявить, или поймать.
Unchecked хочешь - объявляй, хочешь - лови, хочешь ничего не делай.
Когда будет ругаться компилятор, если метод, способный выбросить исключение и объявляющий его, вызывается в другом методе?
Когда в вызывающем методе не объявлено, что метод выбрасывает исключение.
Как вывести на экран StackTrace пойманного Exception?
e.printStackTrace();
Если поимку исключения засунуть в НЕ void метод, то из какого блока кода будет браться возвращаемое значение?
Всегда из finally.
Какое главное правило в исключениях?
Всё, что может выбросить checked исключение, должно быть или объявлено, или поймано блоками try-catch.
Когда мы сами выбрасываем исключение, как это нужно написать?
throw new Тип_исключения () ;
без имени*
Что такое multicatch() при ловле исключенией?
catch (IOException | ParseException e) { //код обработки }
Есть класс Animal с методом eat(); , как переопределить этот метод, не создавая новый класс? (нужно использовать его только один раз)
Объект какого класса создается на самом деле?
//создать объект "старого" класса: Animal animal = new Animal() { public void eat() { System.out.println("Необъодимая реализация на один раз"); }; }
Одноразовый наследник класса Animal
Как мы создаем анонимный класс?
После создания объекта класса вместо “ ; “ мы открываем { } и пишем новую реализацию одноразовых методов
*Как записать “Число x нацело делиться на 3”?
x%3 == 0;
Как узнать длину String?
str.length();
возвращает int.
Как узнать, какой символ находится на позиции n?
char c = str.charAt(n);
Какой метод находит индекс символа S?
Что, если символ повторяется и нам нужен его индекс не с первой позиции?
str. indexOf(“s”);
str. indexOf(“s”, 3);
где 3 - место начала отчета.
Что делает метод
startsWith(“String”, int i );
c двумя параметрами?
Можно узнать, начинается ли String с определенной последовательности String с указанного места. Или кончается.
Какой метод убирает пробелы? Каким способом метод это делает?
String s = str.trim();
убирает пробелы по бокам и не трогает посередине.
Какая особенность с последним символом есть у substring(“str”, int i, int j);
Последний элемент j не учитывается, поэтому нужно писать как бы j+1, указывать несуществующий символ чтобы вывеси последний.
Как поменять отдельный символ или целый кусок строки в строке?
String s = str.replace(String old, String new);
Как конкатенировать строки без + ?
String s = str.concat(String newString);
Что такое method chaining?
Использования нескольких методов через точку.
Какая сигнатура класса toString, чтобы его перезаписать?
@Override
public String toString() {
return … ;
}
Как перевести примитив(любой, в то м числе и boolean) в строку?
String a = String.valueOf(1);
Как перевести коллекцию элементов в строку и вывести каждый через определенный разделитель?
List people = Arrays.asList( "Philip J. Fry", "Turanga Leela", "Bender Bending Rodriguez", "Hubert Farnsworth", "Hermes Conrad", "John D. Zoidberg", "Amy Wong" );
String peopleString = String.join("; ", people); System.out.println(peopleString);
Как разбить строку на массив строк?
String people = “Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; “;
String[] peopleArray = people.split("; "); for (String human : peopleArray) { System.out.println(human); }
Какой метод возвращает true, когда String содержит только пробелы, TABы и тд?
Когда String пустой?
str. isBlank();
str. isEmpty();
Какой метод убирает все пробелы и Tabы еще?
Как удалить все пробелы в начале? В конце?
str.strip();
str. stripLeading();
str. stripTrailing();
Что возвращает метод strip() если удалять нечего?
Тот же самый объект
Как присвоить массиву определенный размер n?
double[] myList = new double[n];
Зачем ссылать коллекции на тип интерфейса List?
Можно сослать ArrayList на LinkedList для более эффективного удаления элементов с начала.
list = new ArrayList ()
Какой класс лучше использовать, если необходимо часто удалять элементы из начала списка?
LinkedList.
Как одновременно объявить массив и проинициализировать его?
Что нельзя указывать в этом примере?
String[] seasons = new String[] {“Winter”, “Spring”, “Summer”, “Autumn”};
Длину в квадратных скобках. Java сама считает.
Как объявить массив на восемь ячеек в каждой по восемь ячеек?
int[][] Array = new int [8][8];
Как подсчитать сумму всех элементов массива?
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
Как найти наибольшее значение в массиве?
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
Какой синтаксис foreach цикла?
for (double element: myList) {
System.out.println(element);
}
Написать метод, получающий массив в параметр и возвращающий новый массив в обратном порядке.
public static int[] reverse(int[] list) { // 1. создать массив по длине такой же int[] result = new int[list.length]; // 2. Две переменные в for, одна растет, вторая убывает. for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; } return result; }
Какой метод с помощью бинарного поиска ищет индекс элемента?
Как выглядит и какое обязательное условие?
Что выдаст, если такого элемента нет?
int[] array1 = {10, 20, 30, 40};
int pos1 = Arrays.binarySearch(array1, 20);
где array1 - массив, 20 - искомое значение;’
массив должен быть отсортирован.
-1.
Как сравнить два массива?
Нужно создавать объект, чтобы его использовать?
public static boolean equals(long[] a1, long[] a2)
нет, статический.
Как заполнить массив одним значением?
Нужно создавать объект, чтобы его использовать?
public static void fill(int[] a, int val)
нет, статический.
Как отсортировать массив?
public static void sort(Object[] a)
Как определить максимальное значение массива с помощью метода Math.max( x1, x2); ?
double[] myArray = {11, 5.8, 11.1, 10.9}; // создали
double max = Double.MIN_VALUE; //присвоили минимум
for (int i = 0; i < myArray.length; i++) { max = Math.max(max, myArray[i]); } // перебрали циклом, сравнивая каждый элемент с max;
Как присвоить минимальное и максимальное значение числу, которое позволяет тип данных?
double min = Double.MIN_VALUE;
Какой метод ищет элемент в массиве с определенного по определенный индекс? Синтаксис, какие параметры.
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
Как вывести строку в обратном порядке? (с помощью цепочки методов)
String str = "абвгдеёжзи"; String reverse = new StringBuffer(str).reverse().toString();
Как разбить строку на массив char?
String str = “ProgLang.su”;
char[] reverseArray1 = str.toCharArray();
Как вывести массив в обратном порядке?
Как должен выглядеть цикл for
for (int i = Array.length-1 ; i >= 0 ; i– ) System.out.print(Array1[i]);
Как установить начальный размер ArrayList?
List list = new ArrayList<>(20);
Как создать ArrayList точно повторяющий любую коллекцию?
ArrayList list2 = new ArrayList<>(list);
Как добавить элемент в ArrayList?
ArrayList list = new ArrayList<>();
list.add(“Hello”);
Как добавить элемент в ArrayList в позицию index&
list.add(0, “Amigo”);
Как добавить целую коллекцию в ArrayLIst?
Как сделать это на позицию index?
ArrayList secondList = new ArrayList<>();
secondList.addAll(list);
secondList.addAll(1, list);
Как очистить ArrayList?
secondList.clear();
Как клонировать ArrayList и почему нужно приведение к тому же типу, что и изначальный ArrayList?
ArrayList copyOfSecondList = (ArrayList) secondList.clone();
Потому что clone() возвращает Object
Как узнать, содержит ли ArrayList определенный элемент?
System.out.println(copyOfSecondList.contains(“Hello”));
true
Что за метод foreach7 Не цикл, а именно метод.
https://javarush.ru/groups/posts/524-khvatit-pisatjh-ciklih-top-10-luchshikh-metodov-dlja-rabotih-s-kollekcijami-iz-java8
Как узнать размер ArrayList?
size()
Какой метод позволяет узнать текущее время в милисекундах?
Пример использования.
long start ´System.currentTimeMillis();
чтобы измерить скорость работы программы. Вызвать в начале метода, в конце и end минус start
- Если нужно добавлять элементы в ArrayList и LinkedList в конец, что будет происходит быстрее?
- Если нужно считывать?
- Если нужно записывать, но в начало?
- Добавлять в конец ArrayList в два раза.
- Считывание с ArrayList намного быстрее.
- LinkedList намного быстрее.
- Добавлять в конец ArrayList в два раза.
- Считывание с ArrayList намного быстрее.
- LinkedList намного быстрее.
System.out.println(cars.pollFirst());
System.out.println(cars.pollLast());
Как создать объект класса HashMap?(Ключ int, значение String ) На что ссылаем?
Map map = new HashMap <> ();
Как добавить в HashMap данные? (Число и его перевод на русский )
map. put(1, “Один”);
map. put(2, “Два”);
Как ведет себя HashMap при вставке нового ключ-значение, если ключ уже существует?
Перезапишет старое значение.
Сколько может быть повторяющихся ключей и значений в HashMap?
Ключ всегда один, значение сколько угодно.
Как получить значение по ключу?
map.get(1);
Имеется ли какой-то порядок в HashMap? Какой Map имеет?
Нет.
LinkedHashMap и TreeMap.
Какой порядок в LinkedHashMap и TreeMap?
Сохраняет порядок добавления, сортирует по ключу.
Как выглядит цикл forEach, чтобы вывести ключ-значение на экран для HashMap?
for (Map.Entry entry : map.entrySet() ) ) {
SOUT(entry.getKey() + “ : “ + entry.getValue() ) );
}
Сколько дубликатов может хранить в себе Set
Ни одного.
Какие множества ты знаешь?
Как создаются?
Set hashSet = HashSet <> ();
LinkedHashSet;
treeSet;
Как выглядит цикл forEach для HashSet?
for (String n : hashSet) {
}
Как редактировать сразу несколько строк в среде разработки?
Alt+Shift и мышкой выбираешь строки
Как узнать, содержит ли Set определенный элемент?
hash.set.contains(“Искомый эмелент”);
Как объединить два множества? Какая особенность?
set1.addAll(set2);
ничего не дублируется, значит “общий кусок” будет один на двоих
Как создать множество с теми же элементами, что и у старого?
Set newHasSet = new HashSet <> (oldHashSet);
Как оставить в множестве все элементы другого множества?
oldHashSet.retainAll(newHashSet);
Как “отнять” одно множество от другого?
Из множества, на котором используется метод, удаляем все элементы того множества, которое задается в параметре.
set1.removeAll(set2);