将数组插入 Map 时出现 UnsupportedOperationException

UnsupportedOperationException when inserting array into Map

将数组插入 Map 时出现 UnsupportedOperationException。地图的输入是正确的。有什么正确的方法可以正确插入并 return 数据吗?

    public static Map<String, ProductClassPeriodData[]> getPeriodsByAgreement(String[] productClassIds,String agreementId) 
    {
        Map data = Collections.EMPTY_MAP;
        for (int i = 0; i < productClassIds.length; i++)
        {
            ProductClassPeriodData[] periodData = getInstance().getProductClassPeriodsByAgreement(productClassIds[i], agreementId);
            data.put(String.valueOf(i), periodData);
        }
        return data;
    }

Collections.EMPTY_MAP不可变,不支持此操作。

/**
 * The empty map (immutable).  This map is serializable.
 *
 * @see #emptyMap()
 * @since 1.3
 */
@SuppressWarnings("rawtypes")
public static final Map EMPTY_MAP = new EmptyMap<>();

改为使用

Map<String, ProductClassPeriodData[]> data = new HashMap<>();