A device which stores frequently used data items in a retrieval list for
easy retrieval and use. An example is a telephone operative to identify
frequently-dialed telephone numbers and prompt a user to store
frequently-dialed numbers in a speed-dial list. When a number is entered
in the telephone, the number is compared with a log of stored numbers.
Each stored number has an associated usage frequency. If the entered
number is present in the log, the usage frequency of the entered number is
updated. If the entered number is not present, the entered number is
stored along with an initial usage frequency. The usage frequency of the
number is compared against a predetermined criterion, and if the criterion
is met the user is prompted to store the entered number in an empty space
in the speed-dial list, or to replace an already existing entry in the
speed-dial list with the entered number. Any of numerous alternatives may
be chosen for prompting of the user and storage of the entered number. For
example, the user may simply be presented with a decision as to whether to
store the entered number. If the user answers affirmatively, the entered
number may automatically be stored in the next available space, or if no
empty space exists, the entered number may be stored in place of the least
frequently used entry in the speed-dial list. Alternatively, menus and
choices may be presented to allow the user control over storage of the
entered number. If an entered number already exists in the speed-dial
list, the user is reminded that the entered number is already present, in
order to enhance user awareness of the speed-dial feature.