ほとんどのJavaコードでは、次のようにJavaオブジェクトを宣言する人がいます。
Map<String, String> hashMap = new HashMap<>();
List<String> list = new ArrayList<>();
の代わりに:
HashMap<String, String> hashMap = new HashMap<>();
ArrayList<String> list = new ArrayList<>();
実際に使用される実装ではなく、インターフェースを使用してJavaオブジェクトを定義する設定があるのはなぜですか?