Few points for consideration:
You can achieve it by using Synchronization or thread-safe.
You are using synchronization in your code which is correct. But you are trying to use same Scanner object across multiple threads. Scanner is not thread-safe. Each thread should ideally use its own scanner or you should synchronize access to the Scanner.
You are calling addingForFirstList for all threads, which means you are adding values to wrong lists. You should call appropriate method for each list.
You are using separate locks for each list, which is correct and it ensures each list is accessed independently.
You may also consider Executor Framework, which provides high-level API for managing threads. And it's crucial to manage shared resources like Scanner