So I am trying to sort the column for arrival time so that the earliest arrival time is first. Im new to csv files in java so struggling big time.
I've managed to read the csv file and print using an array but not sure how to sort the specific column
import java.io.File;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;public class readCSV { public static void main(String[] args) { String fileName= "csv.csv"; File file= new File(fileName); // this gives you a 2-dimensional array of strings List<List<String>> lines = new ArrayList<>(); Scanner inputStream; try{ inputStream = new Scanner(file); while(inputStream.hasNext()){ String line= inputStream.next(); String[] values = line.split(","); // this adds the currently parsed line to the 2-dimensional string array lines.add(Arrays.asList(values)); //System.out.println(line); System.out.println(values[0] +''+ values[1] +''+ values[2] +''+ values[3] ); } inputStream.close(); }catch (FileNotFoundException e) { e.printStackTrace(); } // the following code lets you iterate through the 2-dimensional array /*int lineNo = 1; for(List<String> line: lines) { int columnNo = 1; for (String value: line) { System.out.println("Line "+ lineNo +" Column "+ columnNo +": "+ value); columnNo++; } lineNo++; }*/ }}
If there are any other improvements such as storing the csv, printing it etc Im happy to change it
Heres an example of the input:
processID arrivalTime burstTime priority 1 0 5 1 2 1 7 2 3 0 2 1 4 2 6 2 5 6 10 3 6 5 4 4 7 6 4 7 8 5 4 8 9 6 6 3 10 6 7 2