You cannot use the KEY phrase in these circumstances, but you can use the KEY phrase with the REWRITE statement, which enables you to write to a specific location in your list.
class-id ListsClass. method-id listsDemo. procedure division. declare stringList as list[string] create stringList perform varying i as binary-long from 1 by 1 until i > 5 write stringList from "item " & i end-perform write stringlist from "New item" key 2 *> this is incorrect rewrite stringlist from "New item" key 2 *> but this will update list at key 2 end method. end class.