They are different, in the case of using the Scanner class, it provides you with methods that you can check in the JAVA documentation ( link ) such as:
Scanner sc = new Scanner (System.in);
s.next();
sc.nextInt();
sc.nextLong();
these already provide you with the conversion of the input data to a specific type.
While in the case of the parseInt method it receives a String data type as parameter Integer.parseInt (String); in this case the method System.console (). readLine () reads the entered line and passes the data in String to the parseInt method, this means that with readLine () even if you enter 123 java creates it as a text string ( String) that must be converted to the data type of the variable in your case int, while the sc.nextInt () method already performs the conversion.
Another point in difference is the way they read the data entered in the console, for example:
If you enter 123 45 on the same line the nextInt method will read first 123 and then when you call again nextInt will assign 45.
123 45
numero1 = sc.nextInt; -> 123
numero2 = sc.nextInt; -> 45
and if you use readLine you must enter a number then press the enter key and write the next number does not allow reading on the same text string, with the Scanner class you can use sc.nextLine () to perform this same behavior.
As a recommendation you should use the Scanner classes when you want to read data from the console since it is more flexible and is better prepared for this task.