SlideShare a Scribd company logo
1 of 35
Java Foundations
Lists, List<T>,
ArrayList<T>
Your Course
Instructors
Svetlin Nakov
George Georgiev
The Judge System
Sending your Solutions
for Automated Evaluation
Testing Your Code in the Judge System
 Test your code online in the SoftUni Judge system:
https://judge.softuni.org/Contests/3294
Lists in Java
Processing Variable Length
Sequences of Elements
Table of Contents
1. Lists: Overview
2. List Manipulating: Add, Delete, Insert, Clear
3. Reading Lists from the Console. Printing Lists
4. Sorting Lists and Arrays
7
Lists in Java
8
List<E> – Overview
 List<E> holds a list of elements of any type
9
List<String> names = new ArrayList<>();
// Create a list of strings
names.add("Peter");
names.add("Maria");
names.add("George");
names.remove("Maria");
for (String name : names)
System.out.println(name);
// Peter, George
List<E> – Overview (2)
10
List<Integer> nums = new ArrayList<>(
Arrays.asList(10, 20, 30, 40, 50, 60));
nums.remove(2);
nums.remove(Integer.valueOf(40));
nums.add(100);
nums.add(0, -100);
for (int i = 0; i < nums.size(); i++)
System.out.print(nums.get(i) + " ");
-100 10 20 50 60 100
Inserts an element to index
Items count
Remove by index
Remove by value (slow)
 List<E> holds a list of elements (like array, but extendable)
 Provides operations to add / insert / remove / find elements:
 size() – number of elements in the List<E>
 add(element) – adds an element to the List<E>
 add(index, element) – inserts an element to given position
 remove(element) – removes an element (returns true / false)
 remove(index) – removes element at index
 contains(element) – determines whether an element is in the list
 set(index, item) – replaces the element at the given index
List<E> – Data Structure
11
add – Appends an Element
12
10
5
2
0
Count: 1
2
3
List<Integer>
10
5
2
10
remove – Deletes an Element
13
2
5
Count:
List<Integer>
10
2
3
10
add (index, el) – Inserts an Element at Position
14
3
2
2
5
Count:
List<Integer>
-5
-5
Reading Lists from the Console
Using for Loop or String.split()
15
 First, read from the console the array length:
 Next, create a list of given size n and read its elements:
Reading Lists From the Console
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
List<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
int number = Integer.parseInt(sc.nextLine());
list.add(number);
}
 Lists can be read from a single line of space separated values:
Reading List Values from a Single Line
17
2 8 30 25 40 72 -2 44 56
String values = sc.nextLine();
List<String> items = Arrays.stream(values.split(" "))
.collect(Collectors.toList());
List<Integer> nums = new ArrayList<>();
for (int i = 0; i < items.size(); i++)
nums.add(Integer.parseInt(items.get(i)));
Convert a collection
into List
List<Integer> items = Arrays.stream(values.split(" "))
.map(Integer::parseInt).collect(Collectors.toList());
 Printing a list using a for-loop:
 Printing a list using a String.join():
Printing Lists on the Console
18
List<String> list = new ArrayList<>(Arrays.asList(
"one", "two", "three", "four", "five", "six"));
for (int index = 0; index < list.size(); index++)
System.out.printf
("arr[%d] = %s%n", index, list.get(index));
List<String> list = new ArrayList<>(Arrays.asList(
"one", "two", "three", "four", "five", "six"));
System.out.println(String.join("; ", list));
Gets an element
at given index
 Write a program to sum all adjacent equal numbers in a list of
decimal numbers, starting from left to right
 Examples:
Problem: Sum Adjacent Equal Numbers
19
3 3 6 1 12 1
8 2 2 4 8 16 16 8 16
5 4 2 1 1 4 5 8 4
Scanner sc = new Scanner(System.in);
List<Double> numbers = Arrays.stream(sc.nextLine().split(" "))
.map(Double::parseDouble).collect(Collectors.toList());
for (int i = 0; i < numbers.size() - 1; i++)
if (numbers.get(i).equals(numbers.get(i + 1))) {
numbers.set(i, numbers.get(i) + numbers.get(i + 1));
numbers.remove(i + 1);
i = -1;
}
// Continues on the next slide
Solution: Sum Adjacent Equal Numbers (1)
0
Solution: Sum Adjacent Equal Numbers (2)
21
static String joinElementsByDelimiter
(List<Double> items, String delimiter) {
String output = "";
for (Double item : items)
output += (new DecimalFormat("0.#").format(item) + delimiter);
return output;
}
String output = joinElementsByDelimiter(numbers, " ");
System.out.println(output);
 Write a program that sums all numbers in a list in the
following order:
 first + last, first + 1 + last - 1, first + 2 + last - 2, … first + n, last – n
 Examples:
Problem: Gauss' Trick
22
1 2 3 4 5 6 6 3
1 2 3 4 5 5
Solution: Gauss' Trick
3
Scanner sc = new Scanner(System.in);
List<Integer> numbers = Arrays.stream(sc.nextLine().split(" "))
.map(Integer::parseInt).collect(Collectors.toList());
int size = numbers.size();
for (int i = 0; i < size / 2; i++) {
numbers.set(i, numbers.get(i) + numbers.get(numbers.size() - 1));
numbers.remove(numbers.size() - 1);
}
System.out.println(numbers.toString().replaceAll("[[],]", ""));
 You receive two lists with numbers. Print a result list which
contains the numbers from both lists
 If the length of the two lists is not equal, just add the
remaining elements at the end of the list
 list1[0], list2[0], list1[1], list2[1], …
Problem: Merging Lists
24
1 2 3 4 5
6 7 8
1 6 2 7 3 8 4 5
// TODO: Read the input
List<Integer> resultNums = new ArrayList<>();
for (int i = 0; i < Math.min(nums1.size(), nums2.size()); i++) {
// TODO: Add numbers in resultNums
}
if (nums1.size() > nums2.size())
resNums.addAll(getRemainingElements(nums1, nums2));
else if (nums2.size() > nums1.size())
resNums.addAll(getRemainingElements(nums2, nums1));
System.out.println(resNums.toString().replaceAll("[[],]", ""));
Solution: Merging Lists (1)
25
public static List<Integer> getRemainingElements
(List<Integer> longerList, List<Integer> shorterList) {
List<Integer> nums = new ArrayList<>();
for (int i = shorterList.size(); i < longerList.size(); i++)
nums.add(longerList.get(i));
return nums;
}
Solution: Merging Lists (2)
26
Live Exercises
Reading and Manipulating Lists
Sorting Lists and Arrays
28
 Sorting a list == reorder its elements incrementally: Sort()
 List items should be comparable, e.g. numbers, strings, dates, …
Sorting Lists
List<String> names = new ArrayList<>(Arrays.asList(
"Peter", "Michael", "George", "Victor", "John"));
Collections.sort(names);
System.out.println(String.join(", ", names));
// George, John, Michael, Peter, Victor
Collections.sort(names);
Collections.reverse(names);
System.out.println(String.join(", ", names));
// Victor, Peter, Michael, John, George
Sort in natural
(ascending) order
Reverse the sorted result
 Read a number n and n lines of products. Print a numbered list
of all the products ordered by name
 Examples:
Problem: List of Products
30
4
Potatoes
Tomatoes
Onions
Apples
1.Apples
2.Onions
3.Potatoes
4.Tomatoes
A
Z
int n = Integer.parseInt(sc.nextLine());
List<String> products = new ArrayList<>();
for (int i = 0; i < n; i++) {
String currentProduct = sc.nextLine();
products.add(currentProduct);
}
Collections.sort(products);
for (int i = 0; i < products.size(); i++)
System.out.printf("%d.%s%n", i + 1, products.get(i));
Solution: List of Products
 Read a list of integers, remove all negative numbers from it
 Print the remaining elements in reversed order
 In case of no elements left in the list, print "empty"
Problem: Remove Negatives and Reverse
32
10 -5 7 9 -33 50 50 9 7 10
7 -2 -10 1 1 7
-1 -2 -3 empty
List<Integer> nums = Arrays.stream(sc.nextLine().split(" "))
.map(Integer::parseInt).collect(Collectors.toList());
for (int i = 0; i < nums.size(); i++)
if (nums.get(i) < 0)
nums.remove(i--);
Collections.reverse(nums);
if (nums.size() == 0)
System.out.println("empty");
else
System.out.println(nums.toString().replaceAll("[[],]", ""));
Solution: Remove Negatives and Reverse
Live Exercises
Sorting Lists
 …
 …
 …
Summary
35
 Lists hold a sequence of elements
(variable-length)
 Can add / remove / insert elements
at runtime
 Creating (allocating) a list:
new ArrayList<E>()
 Accessing list elements by index
 Printing list elements: String.join(…)
 …
 …
 …
Next Steps
 Join the SoftUni "Learn To Code" Community
 Access the Free Coding Lessons
 Get Help from the Mentors
 Meet the Other Learners
https://softuni.org

More Related Content

What's hot

18. Java associative arrays
18. Java associative arrays18. Java associative arrays
18. Java associative arraysIntro C# Book
 
Java Foundations: Data Types and Type Conversion
Java Foundations: Data Types and Type ConversionJava Foundations: Data Types and Type Conversion
Java Foundations: Data Types and Type ConversionSvetlin Nakov
 
Java Input Output and File Handling
Java Input Output and File HandlingJava Input Output and File Handling
Java Input Output and File HandlingSunil OS
 
Threads V4
Threads  V4Threads  V4
Threads V4Sunil OS
 
20.3 Java encapsulation
20.3 Java encapsulation20.3 Java encapsulation
20.3 Java encapsulationIntro C# Book
 
Exception Handling
Exception HandlingException Handling
Exception HandlingSunil OS
 
Utilizing kotlin flows in an android application
Utilizing kotlin flows in an android applicationUtilizing kotlin flows in an android application
Utilizing kotlin flows in an android applicationSeven Peaks Speaks
 
Main method in java
Main method in javaMain method in java
Main method in javaHitesh Kumar
 
17. Java data structures trees representation and traversal
17. Java data structures trees representation and traversal17. Java data structures trees representation and traversal
17. Java data structures trees representation and traversalIntro C# Book
 
Multi-threaded Programming in JAVA
Multi-threaded Programming in JAVAMulti-threaded Programming in JAVA
Multi-threaded Programming in JAVAVikram Kalyani
 
java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and filesMarcello Thiry
 
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesThreading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesLauren Yew
 
Java Basics V3
Java Basics V3Java Basics V3
Java Basics V3Sunil OS
 
Collections In Java
Collections In JavaCollections In Java
Collections In JavaBinoj T E
 
Collections Framework
Collections FrameworkCollections Framework
Collections FrameworkSunil OS
 

What's hot (20)

18. Java associative arrays
18. Java associative arrays18. Java associative arrays
18. Java associative arrays
 
Java Foundations: Data Types and Type Conversion
Java Foundations: Data Types and Type ConversionJava Foundations: Data Types and Type Conversion
Java Foundations: Data Types and Type Conversion
 
Java Input Output and File Handling
Java Input Output and File HandlingJava Input Output and File Handling
Java Input Output and File Handling
 
Java I/O
Java I/OJava I/O
Java I/O
 
Threads V4
Threads  V4Threads  V4
Threads V4
 
20.3 Java encapsulation
20.3 Java encapsulation20.3 Java encapsulation
20.3 Java encapsulation
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
Utilizing kotlin flows in an android application
Utilizing kotlin flows in an android applicationUtilizing kotlin flows in an android application
Utilizing kotlin flows in an android application
 
Java static keyword
Java static keywordJava static keyword
Java static keyword
 
JAVA OOP
JAVA OOPJAVA OOP
JAVA OOP
 
Main method in java
Main method in javaMain method in java
Main method in java
 
17. Java data structures trees representation and traversal
17. Java data structures trees representation and traversal17. Java data structures trees representation and traversal
17. Java data structures trees representation and traversal
 
Multi-threaded Programming in JAVA
Multi-threaded Programming in JAVAMulti-threaded Programming in JAVA
Multi-threaded Programming in JAVA
 
java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and files
 
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesThreading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
Java Basics V3
Java Basics V3Java Basics V3
Java Basics V3
 
Collections In Java
Collections In JavaCollections In Java
Collections In Java
 
Collections Framework
Collections FrameworkCollections Framework
Collections Framework
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
 

Similar to Java Foundations: Lists, ArrayList<T>

Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdfLabprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdffreddysarabia1
 
beginners_python_cheat_sheet_pcc_all (3).pptx
beginners_python_cheat_sheet_pcc_all (3).pptxbeginners_python_cheat_sheet_pcc_all (3).pptx
beginners_python_cheat_sheet_pcc_all (3).pptxHongAnhNguyn285885
 
16. Arrays Lists Stacks Queues
16. Arrays Lists Stacks Queues16. Arrays Lists Stacks Queues
16. Arrays Lists Stacks QueuesIntro C# Book
 
Refer to my progress on this assignment belowIn this problem you w.pdf
Refer to my progress on this assignment belowIn this problem you w.pdfRefer to my progress on this assignment belowIn this problem you w.pdf
Refer to my progress on this assignment belowIn this problem you w.pdfarishmarketing21
 
import java.util.LinkedList; import java.util.Random; import jav.pdf
import java.util.LinkedList; import java.util.Random; import jav.pdfimport java.util.LinkedList; import java.util.Random; import jav.pdf
import java.util.LinkedList; import java.util.Random; import jav.pdfaquastore223
 
import java-util-ArrayList- import java-util-Collections- import java-.pdf
import java-util-ArrayList- import java-util-Collections- import java-.pdfimport java-util-ArrayList- import java-util-Collections- import java-.pdf
import java-util-ArrayList- import java-util-Collections- import java-.pdfadhityalapcare
 
Beginner's Python Cheat Sheet.pdf
Beginner's Python Cheat Sheet.pdfBeginner's Python Cheat Sheet.pdf
Beginner's Python Cheat Sheet.pdfAkhileshKumar436707
 
07. Java Array, Set and Maps
07.  Java Array, Set and Maps07.  Java Array, Set and Maps
07. Java Array, Set and MapsIntro C# Book
 
Python Programming: Lists, Modules, Exceptions
Python Programming: Lists, Modules, ExceptionsPython Programming: Lists, Modules, Exceptions
Python Programming: Lists, Modules, ExceptionsSreedhar Chowdam
 
Chapter 7.1
Chapter 7.1Chapter 7.1
Chapter 7.1sotlsoc
 
Write a method called uniqueNumbers that takes an int array as param.pdf
Write a method called uniqueNumbers that takes an int array as param.pdfWrite a method called uniqueNumbers that takes an int array as param.pdf
Write a method called uniqueNumbers that takes an int array as param.pdffashioncollection2
 
ch07-arrays.ppt
ch07-arrays.pptch07-arrays.ppt
ch07-arrays.pptMahyuddin8
 
The Ring programming language version 1.10 book - Part 45 of 212
The Ring programming language version 1.10 book - Part 45 of 212The Ring programming language version 1.10 book - Part 45 of 212
The Ring programming language version 1.10 book - Part 45 of 212Mahmoud Samir Fayed
 
Python programming workshop session 3
Python programming workshop session 3Python programming workshop session 3
Python programming workshop session 3Abdul Haseeb
 

Similar to Java Foundations: Lists, ArrayList<T> (20)

Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdfLabprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
 
beginners_python_cheat_sheet_pcc_all (3).pptx
beginners_python_cheat_sheet_pcc_all (3).pptxbeginners_python_cheat_sheet_pcc_all (3).pptx
beginners_python_cheat_sheet_pcc_all (3).pptx
 
16. Arrays Lists Stacks Queues
16. Arrays Lists Stacks Queues16. Arrays Lists Stacks Queues
16. Arrays Lists Stacks Queues
 
Refer to my progress on this assignment belowIn this problem you w.pdf
Refer to my progress on this assignment belowIn this problem you w.pdfRefer to my progress on this assignment belowIn this problem you w.pdf
Refer to my progress on this assignment belowIn this problem you w.pdf
 
import java.util.LinkedList; import java.util.Random; import jav.pdf
import java.util.LinkedList; import java.util.Random; import jav.pdfimport java.util.LinkedList; import java.util.Random; import jav.pdf
import java.util.LinkedList; import java.util.Random; import jav.pdf
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
import java-util-ArrayList- import java-util-Collections- import java-.pdf
import java-util-ArrayList- import java-util-Collections- import java-.pdfimport java-util-ArrayList- import java-util-Collections- import java-.pdf
import java-util-ArrayList- import java-util-Collections- import java-.pdf
 
Python list
Python listPython list
Python list
 
Basic data-structures-v.1.1
Basic data-structures-v.1.1Basic data-structures-v.1.1
Basic data-structures-v.1.1
 
Beginner's Python Cheat Sheet.pdf
Beginner's Python Cheat Sheet.pdfBeginner's Python Cheat Sheet.pdf
Beginner's Python Cheat Sheet.pdf
 
GE3151_PSPP_UNIT_4_Notes
GE3151_PSPP_UNIT_4_NotesGE3151_PSPP_UNIT_4_Notes
GE3151_PSPP_UNIT_4_Notes
 
07. Java Array, Set and Maps
07.  Java Array, Set and Maps07.  Java Array, Set and Maps
07. Java Array, Set and Maps
 
Java Generics
Java GenericsJava Generics
Java Generics
 
Module-2.pptx
Module-2.pptxModule-2.pptx
Module-2.pptx
 
Python Programming: Lists, Modules, Exceptions
Python Programming: Lists, Modules, ExceptionsPython Programming: Lists, Modules, Exceptions
Python Programming: Lists, Modules, Exceptions
 
Chapter 7.1
Chapter 7.1Chapter 7.1
Chapter 7.1
 
Write a method called uniqueNumbers that takes an int array as param.pdf
Write a method called uniqueNumbers that takes an int array as param.pdfWrite a method called uniqueNumbers that takes an int array as param.pdf
Write a method called uniqueNumbers that takes an int array as param.pdf
 
ch07-arrays.ppt
ch07-arrays.pptch07-arrays.ppt
ch07-arrays.ppt
 
The Ring programming language version 1.10 book - Part 45 of 212
The Ring programming language version 1.10 book - Part 45 of 212The Ring programming language version 1.10 book - Part 45 of 212
The Ring programming language version 1.10 book - Part 45 of 212
 
Python programming workshop session 3
Python programming workshop session 3Python programming workshop session 3
Python programming workshop session 3
 

More from Svetlin Nakov

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиSvetlin Nakov
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024Svetlin Nakov
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and StartupsSvetlin Nakov
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)Svetlin Nakov
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for EntrepreneursSvetlin Nakov
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Svetlin Nakov
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal LifeSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковSvetlin Nakov
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПSvetlin Nakov
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТSvetlin Nakov
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the FutureSvetlin Nakov
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023Svetlin Nakov
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperSvetlin Nakov
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)Svetlin Nakov
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their FutureSvetlin Nakov
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobSvetlin Nakov
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецептаSvetlin Nakov
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?Svetlin Nakov
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)Svetlin Nakov
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Svetlin Nakov
 

More from Svetlin Nakov (20)

BG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учителиBG-IT-Edu: отворено учебно съдържание за ИТ учители
BG-IT-Edu: отворено учебно съдържание за ИТ учители
 
Programming World in 2024
Programming World in 2024Programming World in 2024
Programming World in 2024
 
AI Tools for Business and Startups
AI Tools for Business and StartupsAI Tools for Business and Startups
AI Tools for Business and Startups
 
AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)AI Tools for Scientists - Nakov (Oct 2023)
AI Tools for Scientists - Nakov (Oct 2023)
 
AI Tools for Entrepreneurs
AI Tools for EntrepreneursAI Tools for Entrepreneurs
AI Tools for Entrepreneurs
 
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
Bulgarian Tech Industry - Nakov at Dev.BG All in One Conference 2023
 
AI Tools for Business and Personal Life
AI Tools for Business and Personal LifeAI Tools for Business and Personal Life
AI Tools for Business and Personal Life
 
Дипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин НаковДипломна работа: учебно съдържание по ООП - Светлин Наков
Дипломна работа: учебно съдържание по ООП - Светлин Наков
 
Дипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООПДипломна работа: учебно съдържание по ООП
Дипломна работа: учебно съдържание по ООП
 
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТСвободно ИТ учебно съдържание за учители по програмиране и ИТ
Свободно ИТ учебно съдържание за учители по програмиране и ИТ
 
AI and the Professions of the Future
AI and the Professions of the FutureAI and the Professions of the Future
AI and the Professions of the Future
 
Programming Languages Trends for 2023
Programming Languages Trends for 2023Programming Languages Trends for 2023
Programming Languages Trends for 2023
 
IT Professions and How to Become a Developer
IT Professions and How to Become a DeveloperIT Professions and How to Become a Developer
IT Professions and How to Become a Developer
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)GitHub Actions (Nakov at RuseConf, Sept 2022)
GitHub Actions (Nakov at RuseConf, Sept 2022)
 
IT Professions and Their Future
IT Professions and Their FutureIT Professions and Their Future
IT Professions and Their Future
 
How to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a JobHow to Become a QA Engineer and Start a Job
How to Become a QA Engineer and Start a Job
 
Призвание и цели: моята рецепта
Призвание и цели: моята рецептаПризвание и цели: моята рецепта
Призвание и цели: моята рецепта
 
What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?What Mongolian IT Industry Can Learn from Bulgaria?
What Mongolian IT Industry Can Learn from Bulgaria?
 
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
How to Become a Software Developer - Nakov in Mongolia (Oct 2022)
 
Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)Blockchain and DeFi Overview (Nakov, Sept 2021)
Blockchain and DeFi Overview (Nakov, Sept 2021)
 

Recently uploaded

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Java Foundations: Lists, ArrayList<T>

  • 3. The Judge System Sending your Solutions for Automated Evaluation
  • 4. Testing Your Code in the Judge System  Test your code online in the SoftUni Judge system: https://judge.softuni.org/Contests/3294
  • 5. Lists in Java Processing Variable Length Sequences of Elements
  • 6. Table of Contents 1. Lists: Overview 2. List Manipulating: Add, Delete, Insert, Clear 3. Reading Lists from the Console. Printing Lists 4. Sorting Lists and Arrays 7
  • 8. List<E> – Overview  List<E> holds a list of elements of any type 9 List<String> names = new ArrayList<>(); // Create a list of strings names.add("Peter"); names.add("Maria"); names.add("George"); names.remove("Maria"); for (String name : names) System.out.println(name); // Peter, George
  • 9. List<E> – Overview (2) 10 List<Integer> nums = new ArrayList<>( Arrays.asList(10, 20, 30, 40, 50, 60)); nums.remove(2); nums.remove(Integer.valueOf(40)); nums.add(100); nums.add(0, -100); for (int i = 0; i < nums.size(); i++) System.out.print(nums.get(i) + " "); -100 10 20 50 60 100 Inserts an element to index Items count Remove by index Remove by value (slow)
  • 10.  List<E> holds a list of elements (like array, but extendable)  Provides operations to add / insert / remove / find elements:  size() – number of elements in the List<E>  add(element) – adds an element to the List<E>  add(index, element) – inserts an element to given position  remove(element) – removes an element (returns true / false)  remove(index) – removes element at index  contains(element) – determines whether an element is in the list  set(index, item) – replaces the element at the given index List<E> – Data Structure 11
  • 11. add – Appends an Element 12 10 5 2 0 Count: 1 2 3 List<Integer> 10 5 2
  • 12. 10 remove – Deletes an Element 13 2 5 Count: List<Integer> 10 2 3 10
  • 13. add (index, el) – Inserts an Element at Position 14 3 2 2 5 Count: List<Integer> -5 -5
  • 14. Reading Lists from the Console Using for Loop or String.split() 15
  • 15.  First, read from the console the array length:  Next, create a list of given size n and read its elements: Reading Lists From the Console Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); List<Integer> list = new ArrayList<>(); for (int i = 0; i < n; i++) { int number = Integer.parseInt(sc.nextLine()); list.add(number); }
  • 16.  Lists can be read from a single line of space separated values: Reading List Values from a Single Line 17 2 8 30 25 40 72 -2 44 56 String values = sc.nextLine(); List<String> items = Arrays.stream(values.split(" ")) .collect(Collectors.toList()); List<Integer> nums = new ArrayList<>(); for (int i = 0; i < items.size(); i++) nums.add(Integer.parseInt(items.get(i))); Convert a collection into List List<Integer> items = Arrays.stream(values.split(" ")) .map(Integer::parseInt).collect(Collectors.toList());
  • 17.  Printing a list using a for-loop:  Printing a list using a String.join(): Printing Lists on the Console 18 List<String> list = new ArrayList<>(Arrays.asList( "one", "two", "three", "four", "five", "six")); for (int index = 0; index < list.size(); index++) System.out.printf ("arr[%d] = %s%n", index, list.get(index)); List<String> list = new ArrayList<>(Arrays.asList( "one", "two", "three", "four", "five", "six")); System.out.println(String.join("; ", list)); Gets an element at given index
  • 18.  Write a program to sum all adjacent equal numbers in a list of decimal numbers, starting from left to right  Examples: Problem: Sum Adjacent Equal Numbers 19 3 3 6 1 12 1 8 2 2 4 8 16 16 8 16 5 4 2 1 1 4 5 8 4
  • 19. Scanner sc = new Scanner(System.in); List<Double> numbers = Arrays.stream(sc.nextLine().split(" ")) .map(Double::parseDouble).collect(Collectors.toList()); for (int i = 0; i < numbers.size() - 1; i++) if (numbers.get(i).equals(numbers.get(i + 1))) { numbers.set(i, numbers.get(i) + numbers.get(i + 1)); numbers.remove(i + 1); i = -1; } // Continues on the next slide Solution: Sum Adjacent Equal Numbers (1) 0
  • 20. Solution: Sum Adjacent Equal Numbers (2) 21 static String joinElementsByDelimiter (List<Double> items, String delimiter) { String output = ""; for (Double item : items) output += (new DecimalFormat("0.#").format(item) + delimiter); return output; } String output = joinElementsByDelimiter(numbers, " "); System.out.println(output);
  • 21.  Write a program that sums all numbers in a list in the following order:  first + last, first + 1 + last - 1, first + 2 + last - 2, … first + n, last – n  Examples: Problem: Gauss' Trick 22 1 2 3 4 5 6 6 3 1 2 3 4 5 5
  • 22. Solution: Gauss' Trick 3 Scanner sc = new Scanner(System.in); List<Integer> numbers = Arrays.stream(sc.nextLine().split(" ")) .map(Integer::parseInt).collect(Collectors.toList()); int size = numbers.size(); for (int i = 0; i < size / 2; i++) { numbers.set(i, numbers.get(i) + numbers.get(numbers.size() - 1)); numbers.remove(numbers.size() - 1); } System.out.println(numbers.toString().replaceAll("[[],]", ""));
  • 23.  You receive two lists with numbers. Print a result list which contains the numbers from both lists  If the length of the two lists is not equal, just add the remaining elements at the end of the list  list1[0], list2[0], list1[1], list2[1], … Problem: Merging Lists 24 1 2 3 4 5 6 7 8 1 6 2 7 3 8 4 5
  • 24. // TODO: Read the input List<Integer> resultNums = new ArrayList<>(); for (int i = 0; i < Math.min(nums1.size(), nums2.size()); i++) { // TODO: Add numbers in resultNums } if (nums1.size() > nums2.size()) resNums.addAll(getRemainingElements(nums1, nums2)); else if (nums2.size() > nums1.size()) resNums.addAll(getRemainingElements(nums2, nums1)); System.out.println(resNums.toString().replaceAll("[[],]", "")); Solution: Merging Lists (1) 25
  • 25. public static List<Integer> getRemainingElements (List<Integer> longerList, List<Integer> shorterList) { List<Integer> nums = new ArrayList<>(); for (int i = shorterList.size(); i < longerList.size(); i++) nums.add(longerList.get(i)); return nums; } Solution: Merging Lists (2) 26
  • 26. Live Exercises Reading and Manipulating Lists
  • 27. Sorting Lists and Arrays 28
  • 28.  Sorting a list == reorder its elements incrementally: Sort()  List items should be comparable, e.g. numbers, strings, dates, … Sorting Lists List<String> names = new ArrayList<>(Arrays.asList( "Peter", "Michael", "George", "Victor", "John")); Collections.sort(names); System.out.println(String.join(", ", names)); // George, John, Michael, Peter, Victor Collections.sort(names); Collections.reverse(names); System.out.println(String.join(", ", names)); // Victor, Peter, Michael, John, George Sort in natural (ascending) order Reverse the sorted result
  • 29.  Read a number n and n lines of products. Print a numbered list of all the products ordered by name  Examples: Problem: List of Products 30 4 Potatoes Tomatoes Onions Apples 1.Apples 2.Onions 3.Potatoes 4.Tomatoes A Z
  • 30. int n = Integer.parseInt(sc.nextLine()); List<String> products = new ArrayList<>(); for (int i = 0; i < n; i++) { String currentProduct = sc.nextLine(); products.add(currentProduct); } Collections.sort(products); for (int i = 0; i < products.size(); i++) System.out.printf("%d.%s%n", i + 1, products.get(i)); Solution: List of Products
  • 31.  Read a list of integers, remove all negative numbers from it  Print the remaining elements in reversed order  In case of no elements left in the list, print "empty" Problem: Remove Negatives and Reverse 32 10 -5 7 9 -33 50 50 9 7 10 7 -2 -10 1 1 7 -1 -2 -3 empty
  • 32. List<Integer> nums = Arrays.stream(sc.nextLine().split(" ")) .map(Integer::parseInt).collect(Collectors.toList()); for (int i = 0; i < nums.size(); i++) if (nums.get(i) < 0) nums.remove(i--); Collections.reverse(nums); if (nums.size() == 0) System.out.println("empty"); else System.out.println(nums.toString().replaceAll("[[],]", "")); Solution: Remove Negatives and Reverse
  • 34.  …  …  … Summary 35  Lists hold a sequence of elements (variable-length)  Can add / remove / insert elements at runtime  Creating (allocating) a list: new ArrayList<E>()  Accessing list elements by index  Printing list elements: String.join(…)
  • 35.  …  …  … Next Steps  Join the SoftUni "Learn To Code" Community  Access the Free Coding Lessons  Get Help from the Mentors  Meet the Other Learners https://softuni.org

Editor's Notes

  1. Hello, I am Svetlin Nakov from SoftUni (the Software University). Together with my colleague George Georgiev, we shall teach this free Java Foundations course, which covers important concepts from Java programming, such as arrays, lists, methods, strings, classes, objects and exceptions, and prepares you for the "Java Foundations" official exam from Oracle. In this lesson your instructor George will explain and demonstrate how to use lists in Java, how to allocate a list using the ArrayList generic class, how to access list elements by index, how to add, modify, insert, and delete elements from list and how to read, traverse and print a list. Lists in Java are like arrays: they hold an indexed sequence of elements of the same type. But unlike arrays, lists can resize. In this tutorial on Java arrays, along with the live coding examples, your instructor George will give you some hands-on exercises to gain practical experience. Are you ready? Let's start!
  2. Before the start, I would like to introduce your course instructors: Svetlin Nakov and George Georgiev, who are experienced Java developers, senior software engineers and inspirational tech trainers. They have spent thousands of hours teaching programming and software technologies and are top trainers from SoftUni. I am sure you will like how they teach programming.
  3. Most of this course will be taught by George Georgiev, who is a senior software engineer with many years of experience with Java, JavaScript and C++. George enjoys teaching programming very much and is one of the top trainers at the Software University, having delivered over 300 technical training sessions on the topics of data structures and algorithms, Java essentials, Java fundamentals, C++ programming, C# development and many others. I have no doubt you will benefit greatly from his lessons, as he always does his best to explain the most challenging concepts in a simple and fun way.
  4. Before we dive into the course, I want to show you the SoftUni judge system, where you can get instant feedback for your exercise solutions. SoftUni Judge is an automated system for code evaluation. You just send your code for a certain coding problem and the system will tell you whether your solution is correct or not and what exactly is missing or wrong. I am sure you will love the judge system, once you start using it!
  5. // Solution to problem "01. Student Information". import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name = sc.nextLine(); int age = Integer.parseInt(sc.nextLine()); double grade = Double.parseDouble(sc.nextLine()); System.out.printf("Name: %s, Age: %d, Grade: %.2f", name, age, grade); } }
  6. In this section your instructor George will explain the concept of "Lists in Java" and how to use the ArrayList class. Lists in Java are like arrays, but they can change their size. You can add, modify, insert and delete elements from a list. Lists hold indexed sequence of elements, which can be freely modified. Let's learn how to use lists in Java and solve a few hands-on exercises to gain experience in processing sequences of elements.
  7. Did you like this lesson? Do you want more? Join the learners' community at softuni.org. Subscribe to my YouTube channel to get more free video tutorials on coding and software development. Get free access to the practical exercises and the automated judge system for this coding lesson. Get free help from mentors and meet other learners. Join now! It's free. SOFTUNI.ORG