diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 000000000..c16c5cfbf Binary files /dev/null and b/.DS_Store differ diff --git a/0-0-intro/.DS_Store b/0-0-intro/.DS_Store new file mode 100644 index 000000000..bbfd89351 Binary files /dev/null and b/0-0-intro/.DS_Store differ diff --git a/0-0-intro/src/.DS_Store b/0-0-intro/src/.DS_Store new file mode 100644 index 000000000..a03beddc9 Binary files /dev/null and b/0-0-intro/src/.DS_Store differ diff --git a/0-0-intro/src/main/java/com/bobocode/intro/ExerciseIntroduction.java b/0-0-intro/src/main/java/com/bobocode/intro/ExerciseIntroduction.java index 35d925636..67786990e 100644 --- a/0-0-intro/src/main/java/com/bobocode/intro/ExerciseIntroduction.java +++ b/0-0-intro/src/main/java/com/bobocode/intro/ExerciseIntroduction.java @@ -2,44 +2,13 @@ import com.bobocode.util.ExerciseNotCompletedException; -/** - * Welcome! This is an introduction exercise that will show you a simple example of Bobocode exercises. - *

- * JavaDoc is a way of communication with other devs. We use Java Docs in every exercise to define the task. - * So PLEASE MAKE SURE you read the Java Docs carefully. - *

- * Every exercise is covered with tests, see {@link ExerciseIntroductionTest}. - *

- * In this repo you'll find dozens of exercises covering various fundamental topics. - * They all have the same structure helping you to focus on practice and build strong skills! - * - * @author Taras Boychuk - */ +import java.util.Base64; + public class ExerciseIntroduction { - /** - * This method returns a very important message. If understood well, it can save you years of inefficient learning, - * and unlock your potential! - * - * @return "The key to efficient learning is practice!" - */ public String getWelcomeMessage() { - // todo: implement a method and return a message according to javadoc - throw new ExerciseNotCompletedException(); + return "The key to efficient learning is practice!"; } - - /** - * Method encodeMessage accepts one {@link String} parameter and returns encoded {@link String}. - *

- * PLEASE NOTE THAT YOU WILL GET STUCK ON THIS METHOD INTENTIONALLY! ;) - *

- * Every exercise has a completed solution that is stored in the branch "completed". So in case you got stuck - * and don't know what to do, go check out completed solution. - * - * @param message input message - * @return encoded message - */ public String encodeMessage(String message) { - // todo: switch to branch "completed" in order to see how it should be implemented - throw new ExerciseNotCompletedException(); + return Base64.getEncoder().encodeToString(message.getBytes()); } } diff --git a/1-0-java-basics/.DS_Store b/1-0-java-basics/.DS_Store new file mode 100644 index 000000000..66499debf Binary files /dev/null and b/1-0-java-basics/.DS_Store differ diff --git a/1-0-java-basics/1-3-0-hello-generics/.DS_Store b/1-0-java-basics/1-3-0-hello-generics/.DS_Store new file mode 100644 index 000000000..66469a926 Binary files /dev/null and b/1-0-java-basics/1-3-0-hello-generics/.DS_Store differ diff --git a/1-0-java-basics/1-3-0-hello-generics/src/.DS_Store b/1-0-java-basics/1-3-0-hello-generics/src/.DS_Store new file mode 100644 index 000000000..1155297d3 Binary files /dev/null and b/1-0-java-basics/1-3-0-hello-generics/src/.DS_Store differ diff --git a/1-0-java-basics/1-3-0-hello-generics/src/main/java/com/bobocode/basics/Box.java b/1-0-java-basics/1-3-0-hello-generics/src/main/java/com/bobocode/basics/Box.java index 5a2d860ee..180603a28 100644 --- a/1-0-java-basics/1-3-0-hello-generics/src/main/java/com/bobocode/basics/Box.java +++ b/1-0-java-basics/1-3-0-hello-generics/src/main/java/com/bobocode/basics/Box.java @@ -7,18 +7,18 @@ *

* todo: refactor this class so it uses generic type "T" and run {@link com.bobocode.basics.BoxTest} to verify it */ -public class Box { - private Object value; +public class Box { + private T value; - public Box(Object value) { + public Box(T value) { this.value = value; } - public Object getValue() { + public T getValue() { return value; } - public void setValue(Object value) { + public void setValue(T value) { this.value = value; } } diff --git a/1-0-java-basics/1-3-1-crazy-generics/.DS_Store b/1-0-java-basics/1-3-1-crazy-generics/.DS_Store new file mode 100644 index 000000000..349608b84 Binary files /dev/null and b/1-0-java-basics/1-3-1-crazy-generics/.DS_Store differ diff --git a/1-0-java-basics/1-3-1-crazy-generics/src/.DS_Store b/1-0-java-basics/1-3-1-crazy-generics/src/.DS_Store new file mode 100644 index 000000000..bfbd4bd3a Binary files /dev/null and b/1-0-java-basics/1-3-1-crazy-generics/src/.DS_Store differ diff --git a/1-0-java-basics/1-3-1-crazy-generics/src/main/java/com/bobocode/basics/CrazyGenerics.java b/1-0-java-basics/1-3-1-crazy-generics/src/main/java/com/bobocode/basics/CrazyGenerics.java index 751d5899f..b6e619734 100644 --- a/1-0-java-basics/1-3-1-crazy-generics/src/main/java/com/bobocode/basics/CrazyGenerics.java +++ b/1-0-java-basics/1-3-1-crazy-generics/src/main/java/com/bobocode/basics/CrazyGenerics.java @@ -5,231 +5,157 @@ import lombok.Data; import java.io.Serializable; -import java.util.Collection; -import java.util.Comparator; -import java.util.List; -import java.util.Objects; - -/** - * {@link CrazyGenerics} is an exercise class. It consists of classes, interfaces and methods that should be updated - * using generics. - *

- * TODO: go step by step from top to bottom. Read the java doc, write code and run CrazyGenericsTest to verify your impl - *

- * Hint: in some cases you will need to refactor the code, like replace {@link Object} with a generic type. In order - * cases you will need to add new fields, create new classes, or add new methods. Always try to read java doc and update - * the code according to it. - *

- * TODO: to get the most out of your learning, visit our website - *

- * - * @author Taras Boychuk - */ +import java.util.*; +import java.util.function.Predicate; public class CrazyGenerics { - /** - * {@link Sourced} is a container class that allows storing any object along with the source of that data. - * The value type can be specified by a type parameter "T". - * - * @param – value type - */ + @Data - public static class Sourced { // todo: refactor class to introduce type parameter and make value generic - private Object value; + public static class Sourced { + private T value; private String source; } - /** - * {@link Limited} is a container class that allows storing an actual value along with possible min and max values. - * It is special form of triple. All three values have a generic type that should be a subclass of {@link Number}. - * - * @param – actual, min and max type - */ @Data - public static class Limited { - // todo: refactor class to introduce type param bounded by number and make fields generic numbers - private final Object actual; - private final Object min; - private final Object max; + public static class Limited { + private final T actual; + private final T min; + private final T max; } - /** - * {@link Converter} interface declares a typical contract of a converter. It works with two independent generic types. - * It defines a convert method which accepts one parameter of one type and returns a converted result of another type. - * - * @param – source object type - * @param - converted result type - */ - public interface Converter { // todo: introduce type parameters - // todo: add convert method + public interface Converter { + R convert(T obj); } - /** - * {@link MaxHolder} is a container class that keeps track of the maximum value only. It works with comparable objects - * and allows you to put new values. Every time you put a value, it is stored only if the new value is greater - * than the current max. - * - * @param – value type - */ - public static class MaxHolder { // todo: refactor class to make it generic - private Object max; - - public MaxHolder(Object max) { + public static class MaxHolder> { + private T max; + + public MaxHolder(T max) { this.max = max; } - /** - * Puts a new value to the holder. A new value is stored to the max, only if it is greater than current max value. - * - * @param val a new value - */ - public void put(Object val) { - throw new ExerciseNotCompletedException(); // todo: update parameter and implement the method + public void put(T val) { + if (val == null) { + return; + } + if (this.max == null) { + this.max = val; + return; + } + if (val.compareTo(this.max) > 0) { + this.max = val; + } } - public Object getMax() { + public T getMax() { return max; } } - /** - * {@link StrictProcessor} defines a contract of a processor that can process only objects that are {@link Serializable} - * and {@link Comparable}. - * - * @param – the type of objects that can be processed - */ - interface StrictProcessor { // todo: make it generic - void process(Object obj); + interface StrictProcessor> { + void process(T obj); } - /** - * {@link CollectionRepository} defines a contract of a runtime store for entities based on any {@link Collection}. - * It has methods that allow to save new entity, and get whole collection. - * - * @param – a type of the entity that should be a subclass of {@link BaseEntity} - * @param – a type of any collection - */ - interface CollectionRepository { // todo: update interface according to the javadoc - void save(Object entity); - - Collection getEntityCollection(); + interface CollectionRepository> { + void save(T entity); + + C getEntityCollection(); } - /** - * {@link ListRepository} extends {@link CollectionRepository} but specifies the underlying collection as - * {@link java.util.List}. - * - * @param – a type of the entity that should be a subclass of {@link BaseEntity} - */ - interface ListRepository { // todo: update interface according to the javadoc + interface ListRepository extends CollectionRepository> { } - /** - * {@link ComparableCollection} is a {@link Collection} that can be compared by size. It extends a {@link Collection} - * interface and {@link Comparable} interface, and provides a default implementation of a compareTo method that - * compares collections sizes. - *

- * Please note that size does not depend on the elements type, so it is allowed to compare collections of different - * element types. - * - * @param a type of collection elements - */ - interface ComparableCollection { // todo: refactor it to make generic and provide a default impl of compareTo + interface ComparableCollection extends Collection, Comparable> { + @Override + default int compareTo(Collection o) { + return Integer.compare(this.size(), o.size()); + } } - /** - * {@link CollectionUtil} is an util class that provides various generic helper methods. - */ static class CollectionUtil { static final Comparator CREATED_ON_COMPARATOR = Comparator.comparing(BaseEntity::getCreatedOn); - /** - * An util method that allows to print a dashed list of elements - * - * @param list - */ - public static void print(List list) { - // todo: refactor it so the list of any type can be printed, not only integers + public static void print(List list) { list.forEach(element -> System.out.println(" – " + element)); } - /** - * Util method that check if provided collection has new entities. An entity is any object - * that extends {@link BaseEntity}. A new entity is an entity that does not have an id assigned. - * (In other word, which id value equals null). - * - * @param entities provided collection of entities - * @return true if at least one of the elements has null id - */ - public static boolean hasNewEntities(Collection entities) { - throw new ExerciseNotCompletedException(); // todo: refactor parameter and implement method + public static boolean hasNewEntities(Collection entities) { + if (entities == null) { + return false; + } + for (BaseEntity e : entities) { + if (e.getUuid() == null) { + return true; + } + } + return false; + } + + public static boolean isValidCollection(Collection entities, + Predicate validationPredicate) { + if (entities == null) { + return true; + } + for (BaseEntity e : entities) { + if (!validationPredicate.test(e)) { + return false; + } + } + return true; } - /** - * Util method that checks if a provided collection of entities is valid. An entity is any subclass of - * a {@link BaseEntity} A validation criteria can be different for different cases, so it is passed - * as second parameter. - * - * @param entities provided collection of entities - * @param validationPredicate criteria for validation - * @return true if all entities fit validation criteria - */ - public static boolean isValidCollection() { - throw new ExerciseNotCompletedException(); // todo: add method parameters and implement the logic + public static boolean hasDuplicates(List entities, T targetEntity) { + if (entities == null || targetEntity == null) { + return false; + } + int count = 0; + UUID targetUuid = targetEntity.getUuid(); + for (T e : entities) { + if (Objects.equals(e.getUuid(), targetUuid)) { + count++; + if (count > 1) { + return true; + } + } + } + return false; } - /** - * hasDuplicates is a generic util method checks if a list of entities contains target entity more than once. - * In other words, it checks if target entity has duplicates in the provided list. A duplicate is an entity that - * has the same UUID. - * - * @param entities given list of entities - * @param targetEntity a target entity - * @param entity type - * @return true if entities list contains target entity more than once - */ - public static boolean hasDuplicates() { - throw new ExerciseNotCompletedException(); // todo: update method signature and implement it + public static Optional findMax(Iterable elements, Comparator comparator) { + if (elements == null) { + return Optional.empty(); + } + Iterator it = elements.iterator(); + if (!it.hasNext()) { + return Optional.empty(); + } + T max = it.next(); + while (it.hasNext()) { + T element = it.next(); + if (comparator.compare(element, max) > 0) { + max = element; + } + } + return Optional.of(max); + } + + public static T findMostRecentlyCreatedEntity(Collection entities) { + return findMax(entities, (Comparator) CREATED_ON_COMPARATOR) + .orElseThrow(NoSuchElementException::new); } - /** - * findMax is a generic util method that accepts an {@link Iterable} and {@link Comparator} and returns an - * optional object, that has maximum "value" based on the given comparator. - * - * @param elements provided iterable of elements - * @param comparator an object that will be used to compare elements - * @param type of elements - * @return optional max value - */ - // todo: create a method and implement its logic manually without using util method from JDK - - /** - * findMostRecentlyCreatedEntity is a generic util method that accepts a collection of entities and returns the - * one that is the most recently created. If collection is empty, - * it throws {@link java.util.NoSuchElementException}. - *

- * This method reuses findMax method and passes entities along with prepare comparator instance, - * that is stored as constant CREATED_ON_COMPARATOR. - * - * @param entities provided collection of entities - * @param entity type - * @return an entity from the given collection that has the max createdOn value - */ - // todo: create a method according to JavaDoc and implement it using previous method - - /** - * An util method that allows to swap two elements of any list. It changes the list so the element with the index - * i will be located on index j, and the element with index j, will be located on the index i. - * Please note that in order to make it convenient and simple, it DOES NOT declare any type parameter. - * - * @param elements a list of any given type - * @param i index of the element to swap - * @param j index of the other element to swap - */ public static void swap(List elements, int i, int j) { Objects.checkIndex(i, elements.size()); Objects.checkIndex(j, elements.size()); - throw new ExerciseNotCompletedException(); // todo: complete method implementation + swapHelper(elements, i, j); + } + + + private static void swapHelper(List list, int i, int j) { + T tmp = list.get(i); + list.set(i, list.get(j)); + list.set(j, tmp); } } } + diff --git a/1-0-java-basics/1-3-2-heterogeneous-max-holder/.DS_Store b/1-0-java-basics/1-3-2-heterogeneous-max-holder/.DS_Store new file mode 100644 index 000000000..e04402d0c Binary files /dev/null and b/1-0-java-basics/1-3-2-heterogeneous-max-holder/.DS_Store differ diff --git a/1-0-java-basics/1-3-2-heterogeneous-max-holder/src/.DS_Store b/1-0-java-basics/1-3-2-heterogeneous-max-holder/src/.DS_Store new file mode 100644 index 000000000..ddb7770a9 Binary files /dev/null and b/1-0-java-basics/1-3-2-heterogeneous-max-holder/src/.DS_Store differ diff --git a/1-0-java-basics/1-5-0-hello-annotations/.DS_Store b/1-0-java-basics/1-5-0-hello-annotations/.DS_Store new file mode 100644 index 000000000..ade835b3b Binary files /dev/null and b/1-0-java-basics/1-5-0-hello-annotations/.DS_Store differ diff --git a/1-0-java-basics/1-5-0-hello-annotations/src/.DS_Store b/1-0-java-basics/1-5-0-hello-annotations/src/.DS_Store new file mode 100644 index 000000000..9be3cb7c0 Binary files /dev/null and b/1-0-java-basics/1-5-0-hello-annotations/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/.DS_Store b/2-0-data-structures-and-algorithms/.DS_Store new file mode 100644 index 000000000..59743811e Binary files /dev/null and b/2-0-data-structures-and-algorithms/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-1-node/.DS_Store b/2-0-data-structures-and-algorithms/2-2-1-node/.DS_Store new file mode 100644 index 000000000..82a2eb230 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-1-node/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-1-node/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-1-node/src/.DS_Store new file mode 100644 index 000000000..2ed057783 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-1-node/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-2-stack/.DS_Store b/2-0-data-structures-and-algorithms/2-2-2-stack/.DS_Store new file mode 100644 index 000000000..3742af23d Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-2-stack/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-2-stack/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-2-stack/src/.DS_Store new file mode 100644 index 000000000..034ef2fe0 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-2-stack/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-3-linked-queue/.DS_Store b/2-0-data-structures-and-algorithms/2-2-3-linked-queue/.DS_Store new file mode 100644 index 000000000..39d89f3a7 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-3-linked-queue/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/.DS_Store new file mode 100644 index 000000000..8f9720a4d Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-3-linked-queue/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-4-linked-list/.DS_Store b/2-0-data-structures-and-algorithms/2-2-4-linked-list/.DS_Store new file mode 100644 index 000000000..1bccd4aaa Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-4-linked-list/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-4-linked-list/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-4-linked-list/src/.DS_Store new file mode 100644 index 000000000..de573d989 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-4-linked-list/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-5-array-list/.DS_Store b/2-0-data-structures-and-algorithms/2-2-5-array-list/.DS_Store new file mode 100644 index 000000000..2d70bfb60 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-5-array-list/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-5-array-list/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-5-array-list/src/.DS_Store new file mode 100644 index 000000000..16417a0dd Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-5-array-list/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-6-binary-search-tree/.DS_Store b/2-0-data-structures-and-algorithms/2-2-6-binary-search-tree/.DS_Store new file mode 100644 index 000000000..d17a4b36d Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-6-binary-search-tree/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-6-binary-search-tree/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-6-binary-search-tree/src/.DS_Store new file mode 100644 index 000000000..9b040ee07 Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-6-binary-search-tree/src/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-9-hash-table/.DS_Store b/2-0-data-structures-and-algorithms/2-2-9-hash-table/.DS_Store new file mode 100644 index 000000000..625905c6f Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-9-hash-table/.DS_Store differ diff --git a/2-0-data-structures-and-algorithms/2-2-9-hash-table/src/.DS_Store b/2-0-data-structures-and-algorithms/2-2-9-hash-table/src/.DS_Store new file mode 100644 index 000000000..c8ab7546e Binary files /dev/null and b/2-0-data-structures-and-algorithms/2-2-9-hash-table/src/.DS_Store differ diff --git a/3-0-java-core/.DS_Store b/3-0-java-core/.DS_Store new file mode 100644 index 000000000..762400295 Binary files /dev/null and b/3-0-java-core/.DS_Store differ diff --git a/3-0-java-core/3-6-1-file-reader/.DS_Store b/3-0-java-core/3-6-1-file-reader/.DS_Store new file mode 100644 index 000000000..c5608dcea Binary files /dev/null and b/3-0-java-core/3-6-1-file-reader/.DS_Store differ diff --git a/3-0-java-core/3-6-1-file-reader/src/.DS_Store b/3-0-java-core/3-6-1-file-reader/src/.DS_Store new file mode 100644 index 000000000..5e5d271b0 Binary files /dev/null and b/3-0-java-core/3-6-1-file-reader/src/.DS_Store differ diff --git a/3-0-java-core/3-6-2-file-stats/.DS_Store b/3-0-java-core/3-6-2-file-stats/.DS_Store new file mode 100644 index 000000000..1c63618f6 Binary files /dev/null and b/3-0-java-core/3-6-2-file-stats/.DS_Store differ diff --git a/3-0-java-core/3-6-2-file-stats/src/.DS_Store b/3-0-java-core/3-6-2-file-stats/src/.DS_Store new file mode 100644 index 000000000..fe8ae1bd7 Binary files /dev/null and b/3-0-java-core/3-6-2-file-stats/src/.DS_Store differ diff --git a/3-0-java-core/3-6-3-crazy-regex/.DS_Store b/3-0-java-core/3-6-3-crazy-regex/.DS_Store new file mode 100644 index 000000000..4adfc4f78 Binary files /dev/null and b/3-0-java-core/3-6-3-crazy-regex/.DS_Store differ diff --git a/3-0-java-core/3-6-3-crazy-regex/src/.DS_Store b/3-0-java-core/3-6-3-crazy-regex/src/.DS_Store new file mode 100644 index 000000000..5884c8f24 Binary files /dev/null and b/3-0-java-core/3-6-3-crazy-regex/src/.DS_Store differ diff --git a/3-0-java-core/3-6-4-random-field-comparator/.DS_Store b/3-0-java-core/3-6-4-random-field-comparator/.DS_Store new file mode 100644 index 000000000..24b1b364e Binary files /dev/null and b/3-0-java-core/3-6-4-random-field-comparator/.DS_Store differ diff --git a/3-0-java-core/3-6-4-random-field-comparator/src/.DS_Store b/3-0-java-core/3-6-4-random-field-comparator/src/.DS_Store new file mode 100644 index 000000000..2103dcf94 Binary files /dev/null and b/3-0-java-core/3-6-4-random-field-comparator/src/.DS_Store differ diff --git a/4-0-object-oriented-programming/.DS_Store b/4-0-object-oriented-programming/.DS_Store new file mode 100644 index 000000000..b234d3525 Binary files /dev/null and b/4-0-object-oriented-programming/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/.DS_Store new file mode 100644 index 000000000..c9e6dba08 Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/src/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/src/.DS_Store new file mode 100644 index 000000000..8f0989b66 Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/src/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/src/main/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/.DS_Store new file mode 100644 index 000000000..3e4149e0b Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/.DS_Store new file mode 100644 index 000000000..6d5ce8304 Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/.DS_Store new file mode 100644 index 000000000..713348808 Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/bobocode/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/bobocode/.DS_Store new file mode 100644 index 000000000..576ac3449 Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/bobocode/.DS_Store differ diff --git a/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/bobocode/oop/.DS_Store b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/bobocode/oop/.DS_Store new file mode 100644 index 000000000..9e89e250c Binary files /dev/null and b/4-0-object-oriented-programming/4-3-1-flight-search/src/main/java/com/bobocode/oop/.DS_Store differ diff --git a/5-0-functional-programming/.DS_Store b/5-0-functional-programming/.DS_Store new file mode 100644 index 000000000..1703a6446 Binary files /dev/null and b/5-0-functional-programming/.DS_Store differ diff --git a/5-0-functional-programming/5-0-1-lambda-functions-map/.DS_Store b/5-0-functional-programming/5-0-1-lambda-functions-map/.DS_Store new file mode 100644 index 000000000..797530d3c Binary files /dev/null and b/5-0-functional-programming/5-0-1-lambda-functions-map/.DS_Store differ diff --git a/5-0-functional-programming/5-0-1-lambda-functions-map/src/.DS_Store b/5-0-functional-programming/5-0-1-lambda-functions-map/src/.DS_Store new file mode 100644 index 000000000..8505bd338 Binary files /dev/null and b/5-0-functional-programming/5-0-1-lambda-functions-map/src/.DS_Store differ diff --git a/5-0-functional-programming/5-0-2-stream-sum-of-squares/.DS_Store b/5-0-functional-programming/5-0-2-stream-sum-of-squares/.DS_Store new file mode 100644 index 000000000..81b885a08 Binary files /dev/null and b/5-0-functional-programming/5-0-2-stream-sum-of-squares/.DS_Store differ diff --git a/5-0-functional-programming/5-0-2-stream-sum-of-squares/src/.DS_Store b/5-0-functional-programming/5-0-2-stream-sum-of-squares/src/.DS_Store new file mode 100644 index 000000000..a3be89fd1 Binary files /dev/null and b/5-0-functional-programming/5-0-2-stream-sum-of-squares/src/.DS_Store differ diff --git a/5-0-functional-programming/5-1-1-crazy-lambdas/.DS_Store b/5-0-functional-programming/5-1-1-crazy-lambdas/.DS_Store new file mode 100644 index 000000000..553b5790c Binary files /dev/null and b/5-0-functional-programming/5-1-1-crazy-lambdas/.DS_Store differ diff --git a/5-0-functional-programming/5-1-1-crazy-lambdas/src/.DS_Store b/5-0-functional-programming/5-1-1-crazy-lambdas/src/.DS_Store new file mode 100644 index 000000000..73dc0daff Binary files /dev/null and b/5-0-functional-programming/5-1-1-crazy-lambdas/src/.DS_Store differ diff --git a/5-0-functional-programming/5-2-1-crazy-streams/.DS_Store b/5-0-functional-programming/5-2-1-crazy-streams/.DS_Store new file mode 100644 index 000000000..20a8d08e5 Binary files /dev/null and b/5-0-functional-programming/5-2-1-crazy-streams/.DS_Store differ diff --git a/5-0-functional-programming/5-2-1-crazy-streams/src/.DS_Store b/5-0-functional-programming/5-2-1-crazy-streams/src/.DS_Store new file mode 100644 index 000000000..0f7f9e6f1 Binary files /dev/null and b/5-0-functional-programming/5-2-1-crazy-streams/src/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/.DS_Store new file mode 100644 index 000000000..8fb8519a3 Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/src/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/src/.DS_Store new file mode 100644 index 000000000..40bf21327 Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/src/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/src/main/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/.DS_Store new file mode 100644 index 000000000..3d260a2c3 Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/.DS_Store new file mode 100644 index 000000000..24b472919 Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/.DS_Store new file mode 100644 index 000000000..47d05d96c Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/bobocode/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/bobocode/.DS_Store new file mode 100644 index 000000000..1dce678e4 Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/bobocode/.DS_Store differ diff --git a/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/bobocode/fp/.DS_Store b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/bobocode/fp/.DS_Store new file mode 100644 index 000000000..ec944f09e Binary files /dev/null and b/5-0-functional-programming/5-3-1-crazy-optionals/src/main/java/com/bobocode/fp/.DS_Store differ diff --git a/5-0-functional-programming/5-4-1-fun-prime-numbers/.DS_Store b/5-0-functional-programming/5-4-1-fun-prime-numbers/.DS_Store new file mode 100644 index 000000000..e6bc10e9f Binary files /dev/null and b/5-0-functional-programming/5-4-1-fun-prime-numbers/.DS_Store differ diff --git a/5-0-functional-programming/5-4-1-fun-prime-numbers/src/.DS_Store b/5-0-functional-programming/5-4-1-fun-prime-numbers/src/.DS_Store new file mode 100644 index 000000000..d4499aab4 Binary files /dev/null and b/5-0-functional-programming/5-4-1-fun-prime-numbers/src/.DS_Store differ diff --git a/5-0-functional-programming/src/.DS_Store b/5-0-functional-programming/src/.DS_Store new file mode 100644 index 000000000..211585e00 Binary files /dev/null and b/5-0-functional-programming/src/.DS_Store differ diff --git a/5-0-functional-programming/src/main/.DS_Store b/5-0-functional-programming/src/main/.DS_Store new file mode 100644 index 000000000..8f7d58a0c Binary files /dev/null and b/5-0-functional-programming/src/main/.DS_Store differ diff --git a/5-0-functional-programming/src/main/java/.DS_Store b/5-0-functional-programming/src/main/java/.DS_Store new file mode 100644 index 000000000..a5305543e Binary files /dev/null and b/5-0-functional-programming/src/main/java/.DS_Store differ diff --git a/5-0-functional-programming/src/main/java/com/.DS_Store b/5-0-functional-programming/src/main/java/com/.DS_Store new file mode 100644 index 000000000..8e3b58a14 Binary files /dev/null and b/5-0-functional-programming/src/main/java/com/.DS_Store differ diff --git a/5-0-functional-programming/src/main/java/com/bobocode/.DS_Store b/5-0-functional-programming/src/main/java/com/bobocode/.DS_Store new file mode 100644 index 000000000..8117b166b Binary files /dev/null and b/5-0-functional-programming/src/main/java/com/bobocode/.DS_Store differ diff --git a/6-0-test-driven-development/.DS_Store b/6-0-test-driven-development/.DS_Store new file mode 100644 index 000000000..0cbcfad39 Binary files /dev/null and b/6-0-test-driven-development/.DS_Store differ diff --git a/6-0-test-driven-development/6-1-1-stack/.DS_Store b/6-0-test-driven-development/6-1-1-stack/.DS_Store new file mode 100644 index 000000000..0156ea48c Binary files /dev/null and b/6-0-test-driven-development/6-1-1-stack/.DS_Store differ diff --git a/6-0-test-driven-development/6-1-1-stack/src/.DS_Store b/6-0-test-driven-development/6-1-1-stack/src/.DS_Store new file mode 100644 index 000000000..6e61514bb Binary files /dev/null and b/6-0-test-driven-development/6-1-1-stack/src/.DS_Store differ diff --git a/6-0-test-driven-development/6-1-2-linked-list/.DS_Store b/6-0-test-driven-development/6-1-2-linked-list/.DS_Store new file mode 100644 index 000000000..0cdf8efcc Binary files /dev/null and b/6-0-test-driven-development/6-1-2-linked-list/.DS_Store differ diff --git a/6-0-test-driven-development/6-1-2-linked-list/src/.DS_Store b/6-0-test-driven-development/6-1-2-linked-list/src/.DS_Store new file mode 100644 index 000000000..a4f8bbea3 Binary files /dev/null and b/6-0-test-driven-development/6-1-2-linked-list/src/.DS_Store differ diff --git a/6-0-test-driven-development/6-1-3-binary-search-tree/.DS_Store b/6-0-test-driven-development/6-1-3-binary-search-tree/.DS_Store new file mode 100644 index 000000000..6e03a50a6 Binary files /dev/null and b/6-0-test-driven-development/6-1-3-binary-search-tree/.DS_Store differ diff --git a/6-0-test-driven-development/6-1-3-binary-search-tree/src/.DS_Store b/6-0-test-driven-development/6-1-3-binary-search-tree/src/.DS_Store new file mode 100644 index 000000000..fbed5932d Binary files /dev/null and b/6-0-test-driven-development/6-1-3-binary-search-tree/src/.DS_Store differ diff --git a/java-fundamentals-util/.DS_Store b/java-fundamentals-util/.DS_Store new file mode 100644 index 000000000..fea558ab5 Binary files /dev/null and b/java-fundamentals-util/.DS_Store differ diff --git a/java-fundamentals-util/src/.DS_Store b/java-fundamentals-util/src/.DS_Store new file mode 100644 index 000000000..525c0f59c Binary files /dev/null and b/java-fundamentals-util/src/.DS_Store differ diff --git a/java-fundamentals-util/src/main/.DS_Store b/java-fundamentals-util/src/main/.DS_Store new file mode 100644 index 000000000..dc7588af8 Binary files /dev/null and b/java-fundamentals-util/src/main/.DS_Store differ diff --git a/java-fundamentals-util/src/main/java/.DS_Store b/java-fundamentals-util/src/main/java/.DS_Store new file mode 100644 index 000000000..fd401e456 Binary files /dev/null and b/java-fundamentals-util/src/main/java/.DS_Store differ diff --git a/java-fundamentals-util/src/main/java/com/.DS_Store b/java-fundamentals-util/src/main/java/com/.DS_Store new file mode 100644 index 000000000..62cbb1c44 Binary files /dev/null and b/java-fundamentals-util/src/main/java/com/.DS_Store differ diff --git a/java-fundamentals-util/src/main/java/com/bobocode/.DS_Store b/java-fundamentals-util/src/main/java/com/bobocode/.DS_Store new file mode 100644 index 000000000..95f3ebc03 Binary files /dev/null and b/java-fundamentals-util/src/main/java/com/bobocode/.DS_Store differ