1. JDK1.0によってリリースされたVectorクラスを使用します。これは、基になるメソッドがsynchronizedキーワードを使用しているためです。これは非効率的であり、推奨されません。
List<String> list=new Vector<>();
2.コレクションクラスの最上位の親クラスCollectionsクラスのsynchronizedList()メソッドを使用します。着信パラメーターは、通常のArraylistです。
List<String> list=new ArrayList<>();
List<String> list2=Collections.synchronizedList(list);
3. JUCのCopyOnWriteArrayListメソッドでは、最下層がコピーオンライトを採用しています(推奨、Vectorよりも高いパフォーマンス)
List<String> list=new CopyOnWriteArrayList<>();