diff --git a/car-lib/src/android/car/drivingstate/CarUxRestrictionsConfiguration.java b/car-lib/src/android/car/drivingstate/CarUxRestrictionsConfiguration.java
index 659f1cd..cd7d7ab 100644
--- a/car-lib/src/android/car/drivingstate/CarUxRestrictionsConfiguration.java
+++ b/car-lib/src/android/car/drivingstate/CarUxRestrictionsConfiguration.java
@@ -22,6 +22,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.SystemClock;
+import android.util.ArrayMap;
 import android.util.JsonReader;
 import android.util.JsonWriter;
 import android.util.Log;
@@ -30,7 +31,6 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -60,7 +60,8 @@
     private final int mMaxContentDepth;
     private final int mMaxCumulativeContentItems;
     private final int mMaxStringLength;
-    private final Map<Integer, List<RestrictionsPerSpeedRange>> mUxRestrictions = new HashMap<>();
+    private final Map<Integer, List<RestrictionsPerSpeedRange>> mUxRestrictions =
+            new ArrayMap<>(DRIVING_STATES.length);
 
     private CarUxRestrictionsConfiguration(CarUxRestrictionsConfiguration.Builder builder) {
         mMaxContentDepth = builder.mMaxContentDepth;
@@ -422,7 +423,8 @@
         private int mMaxCumulativeContentItems = UX_RESTRICTIONS_UNKNOWN;
         private int mMaxStringLength = UX_RESTRICTIONS_UNKNOWN;
 
-        private Map<Integer, List<RestrictionsPerSpeedRange>> mUxRestrictions = new HashMap<>();
+        private Map<Integer, List<RestrictionsPerSpeedRange>> mUxRestrictions =
+                new ArrayMap<>(DRIVING_STATES.length);
 
         public Builder() {
             for (int drivingState : DRIVING_STATES) {
