Массивы ANDROID CLUB 2015 Сегодня Массив + length ArrayList + add(), get(), set,(), size(), remove() HashMap + put(), get(), keySet(), containsKey() Android Lab: Контакты Массив Массив (Array) – нумерованный набор переменных Массив: пример String[] cities = new String[5]; cities[0]="Ташкент"; cities[1]="Самарканд"; cities[2]="Бухара"; cities[3]="Нукус"; cities[4]="Хива"; System.out.println(cities[3]); Массив: практика Определите количество студентов в комнате Создавайте массив данных типа String c размером – количество студентов Теперь заполняйте их с именами студентов Показывайте третьего студента в листе Массив: пример String[] cities = {"Ташкент","Самарканд","Бухара","Нукус","Хива"}; System.out.println(cities[3]); Массив: практика Узнайте имена студентов в комнате Создавайте массив данных типа String c именами студентов Показывайте студента второго студента в листе Массив: пример? String[] cities = {"Ташкент","Самарканд","Бухара","Нукус","Хива"}; System.out.println(cities); // этот код показывает адрес где храниться массив Массив: пример! String[] cities = {"Ташкент","Самарканд","Бухара","Нукус","Хива"}; System.out.println(Arrays.toString(cities)); Массив: практика Создавайте массив данных типа String c именами студентов Используя массив, показывайте в консоли имена студентов length: пример String[] cities = {"Ташкент","Самарканд","Бухара","Нукус","Хива"}; int count = cities.length; System.out.println("В листе "+count+" городов"); length: практика Создавайте массив данных типа String c именами студентов Используя массив, показывайте в консоли сколько студентов: “В классе 4 студента” ArrayList ArrayList – автоматически расширяемый массив Массив vs ArrayList ArrayList – автоматический расширяемый, массивы нет Массивы более быстрее и использует меньше ОЗУ ArrayList: пример ArrayList cities = new ArrayList<>(); cities.add("Ташкент"); cities.add("Самарканд"); cities.add("Бухара"); cities.add("Нукус"); cities.add("Хива"); System.out.println(cities); ArrayList: практика Создавайте списочный лист Добавьте имена студентов в этот списочный лист В консоли показывайте имена студентов get(): пример ArrayList cities = new ArrayList<>(); cities.add("Ташкент"); cities.add("Самарканд"); cities.add("Бухара"); cities.add("Нукус"); cities.add("Хива"); System.out.println(cities.get(3)); get(): практика Создавайте списочный лист Добавьте имена студентов в этот списочный лист В консоли показывайте свою имя set(): пример ArrayList cities = new ArrayList<>(); cities.add("Ташкент"); cities.add("Самарканд"); cities.add("Бухара"); cities.add("Нукус"); cities.add("Хива"); cities.set(2, "Фергана"); System.out.println(cities); set(): практика Создавайте списочный массив c именами студентов Свое имя поменяйте на “Я” В консоли показывайте имена студентов size(): пример ArrayList cities = new ArrayList<>(); cities.add("Ташкент"); cities.add("Самарканд"); cities.add("Бухара"); cities.add("Нукус"); cities.add("Хива"); System.out.println("В списке "+cities.size()+" городов"); size(): практика Создавайте списочный массив c именами студентов Используя списочный массив, показывайте в консоли сколько студентов: “В классе 4 студента” remove(): пример ArrayList cities = new ArrayList<>(); cities.add("Ташкент"); cities.add("Самарканд"); cities.add("Бухара"); cities.add("Нукус"); cities.add("Хива"); cities.remove(2); System.out.println(cities); remove(): практика Создавайте списочный массив c именами студентов Удалите себя из списка В консоли показывайте имена студентов HashMap HashMap – хранитель данных в виде пар ключ/значение Пример: Карточка в картотеке арбитражных дел Массив & HashMap Массив(включая ArrayList) нумерованный набор переменных HashMap – определенного порядка нету HashMap: пример HashMap<String, String> elements = new HashMap<>(); elements.put("H", "Водород"); elements.put("O", "Кислород"); elements.put("Na", "Натрий"); elements.put("Ca", "Калций"); elements.put("Al", "Алюминый"); String element = elements.get("Na"); System.out.println(element); HashMap: практика Создайте Hashmap: Contacts Тип данный ключей – String Тип данный значений – String В HashMap создайте лист именами студентов(ключ), и номерами(значения) Исползую этот HashMap, показывайте свой номер keySet(): пример HashMap<String, String> elements = new HashMap<>(); elements.put("H", "Водород"); elements.put("O", "Кислород"); elements.put("Na", "Натрий"); elements.put("Ca", "Калций"); elements.put("Al", "Алюминый"); System.out.println(elements.keySet()); keySet(): практика Создайте Hashmap: Contacts Тип данный ключей – String Тип данный значений – String В HashMap создайте лист именами студентов(ключ), и номерами(значения) Исползую этот HashMap, показывайте все имена containsKey(): пример HashMap<String, String> elements = new HashMap<>(); elements.put("H", "Водород"); elements.put("O", "Кислород"); elements.put("Na", "Натрий"); elements.put("Ca", "Калций"); elements.put("Al", "Алюминый"); System.out.println(elements.containsKey("Ca")); containsKey(): практика Создайте Hashmap: Contacts Тип данный ключей – String Тип данный значений – String В HashMap создайте лист именами студентов(ключ), и номерами(значения) Исползую этот HashMap, показывайте есть ли в списке имя: Азиз Android Lab: Contacts Поиск контакта по имени Проверка номера на правильность Проверка принадлежности номера к Узбекистану Если там, определить оператор связи Android Lab: шаг 1 Создайте Hashmap: Contacts Тип данный ключей – String Тип данный значений – String В HashMap создайте лист именами студентов(ключ), и номерами(значения) Исползуя этот HashMap, показывайте все имена Android Lab: решение 1 HashMap<String, String> contacts = new HashMap<>(); contacts.put("Жо", "998901234567"); contacts.put("Отабек", "998931234567"); contacts.put("Азиз", "998971234567"); contacts.put("Умид", "998791234567"); System.out.println(contacts.keySet()); Android Lab: шаг 2 В консоли показывайте этот текст: "Введите имя один из контактов” Создавайте новый объект сканнер чтобы получить имя от пользователя Создавайте переменную типа String: name Сохраните имя в этой переменной Android Lab: решение 2 System.out.println("Введите имю один из контактов"); Scanner scanner = new Scanner(System.in); String name = scanner.nextLine(); Android Lab: шаг 3 Проверьте имя, есть ли она в контактах или нет c помощью метода containsKey() Есть ли есть – в консоли “Этот контакт имеется в контактах” Если нет – в консоли “В контактах такого имени не существует” Android Lab: решение 3 if (contacts.containsKey(name)) { System.out.println("Этот контакт имеется в контактах"); } else { System.out.println("У вас в контактах такого имени не существует"); } Android Lab: шаг 4 Если такое имя существует в контактах, получите номер из HashMap В консоли: [Имя]+” : “+[Номер телефона] Android Club: решение 4 String number = contacts.get(name); System.out.println(name + ":" + number); Android Club: шаг 5 Проверьте номер, состоит ли он из 12 цифр Если да, в консоли “Номер правильный” Если нет, в консоли “Номер не правильный” Android Lab: шаг 6 Если номер правильный, определите номер принадлежит Узбекистану или нет Если номер начинается на “998” – в консоли “Номер принадлежит Узбекистану” Если нет – “Иностранный номер” Android Lab: решение 6 if (number.startsWith("998")) { System.out.println ("Номер принадлежит Узбекистану"); } else { System.out.println("Иностранный номер"); } Android Lab: шаг 7 Если номер принадлежит Узбекистану, определите оператор связи Получите код оператора с помощью метода substring(3,5) В консоли: если код 90, 91-Билайн; 93,94 – Ucell; 95, 99 – Uzmobile, 97 – UMS, 98 – Perfectum Mobile Android Lab: решение 7 String prefix = number.substring(3, 5); if(prefix.equals("90")||prefix.equals("91")){ System.out.println("Билайн");} else if(prefix.equals("93")||prefix.equals("94")){ System.out.println("Ucell");} else if(prefix.equals("95")||prefix.equals("99")){ System.out.println("UzMobile");} else if(prefix.equals("97")){ System.out.println("UMS");} else if(prefix.equals("98")){ System.out.println("Perfectum Mobile");} else{ System.out.println("Не известный");} Вопросы? У вас есть вопросы? Домашнее задание http://codingbat.com/java/Array-1 Спасибо Спасибо за внимание