Start learning free

LESSON 373 OF 410 · PROJECTS: COMMAND-LINE TOOLS

CLI Tool: head v1 — First 10 Lines in Java

Practice

Build a tiny version of the Unix head command. Given a list of lines, return the first 10 lines joined by newline characters (\n). If the input has fewer than 10 lines, return all of them. If there are no lines at all, return the empty string.

Function signature:

public String head(List<String> lines)

Example:

Input: lines = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m"]

Output: "a\nb\nc\nd\ne\nf\ng\nh\ni\nj"

When printed:
a
b
c
d
e
f
g
h
i
j

Use List.subList(int from, int to) to grab the first 10 lines, but cap to at lines.size() when the list is shorter than 10. Then String.join("\n", subList).

Compute int end = Math.min(10, lines.size()), then call lines.subList(0, end).

The full solution:
class Solution {
    public String head(List<String> lines) {
        int end = Math.min(10, lines.size());
        return String.join("\n", lines.subList(0, end));
    }
}

STEP 1 OF 2
    Ctrl + Enter to check

    Head V1 in Java

    Keep going with JavaAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free