Coder Social home page Coder Social logo

java8-code-kata's Introduction

Java8 Code Kata

Build Status

โ˜ It's failing because tests are not solved yet! ๐Ÿ˜Š

What is Code Kata?

According to www.codekatas.org

Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer, in a bow to the Japanese concept of kata in the martial arts. A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition.

Also refer codekata.com

What is Java8 Code Kata?

The Java8 Code Kata is created to walk-through java8 new API functions. I hope this helps you learn Java8 and get used to it. Repeating exercises will definitely upgrade your skills.

Usage

  • Resolve dependencies.
$ pwd
/path/to/java8-code-kata

$ ./mvnw dependency:resolve
-> will download the dependent jar files in your .m2 directory.
  • Edit the unit tests to pass them by following its description.

Test sample.

@Easy @Test
public void simpleAddition() {
    /**
     * Get an addition result of 1 and 2 by using an operator "+".
     */
    Integer added = null;

    assertThat(added, is(3));
}

You need to edit the program under the comment.

Solution sample.

@Easy @Test
public void simpleAddition() {
    /**
     * Get an addition result of 1 and 2 by using an operator "+".
     */
    Integer added = 1 + 2;

    assertThat(added, is(3));
}

Most tests are annotated with @Easy which means those tests only requires basic knowledge.

Tests annotated with @Difficult expect you to think a lot ๐Ÿ˜

Where are the answers?

Check the 'solution' branch, but please try to solve by yourself at first.

Modules

collection-interfaces

  • Exercise1Test.java

Iterable#forEach, Collection#removeIf, List#replaceAll, List#sort, Collection#stream and Collection#parallelStream

  • Exercise2Test.java

Map#getOrDefault, Map#putIfAbsent, Map#merge and Map#computeIfPresent

stream-api

  • Exercise1Test.java

Stream#filter and Stream#map

  • Exercise2Test.java

Stream#sorted, Stream#distinct, Stream#limit and Stream#flatMap

  • Exercise3Test.java

Stream#count, Stream#max and Stream#min

  • Exercise4Test.java

Stream#findFirst, Stream#allMatch, Stream#anyMatch and Stream#noneMatch

  • Exercise5Test.java

Stream#collect and Collectors

  • Exercise6Test.java

Stream#of and Stream#iterate

  • Exercise7Test.java

IntStream, LongStream and DoubleStream

  • Exercise8Test.java

Advanced problems

  • Exercise9Test.java

Collector

date-and-time-api

  • Exercise1Test.java

LocalDate#of, LocalDate#parse, LocalDate#with, LocalDate#plus, LocalDate#minus, LocalDate#isAfter, LocalDate#isBefore and LocalDate#until

  • Exercise2Test.java

LocalTime#of, LocalTime#parse, LocalTime#with, LocalTime#plus, LocalTime#minus, LocalTime#isAfter, LocalTime#isBefore and LocalTime#truncatedTo

  • Exercise3Test.java

LocalDateTime#of, LocalDateTime#parse, LocalDateTime#format, LocalDateTime#toLocalDate, LocalDateTime#toLocalTime, LocalDate#atTime and LocalTime#atDate

  • Exercise4Test.java

ZonedDateTime#of, ZonedDateTime#parse, ZonedDateTime#format, LocalDateTime#atZone, ZonedDateTime#withZoneSameInstant and ZonedDateTime#withZoneSameLocal

  • Exercise5Test.java

LocalDateTime to java.sql.Timestamp, LocalDate to java.sql.Date, and vice versa

java8-code-kata's People

Contributors

davidgodzsak avatar ericsiber avatar konohiroaki avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.