arrays array java program the only difference was that it related to setelem(and getelem(instead of the [operator it' not clear that this approach is an improvement also notice that there' no convenient way to display the contents of the array somewhat crudelythe lowarrayapp class simply uses for loop and the getelem(method for this purpose we could avoid repeated code by writing separate method for lowarrayapp that it could call to display the array contentsbut is it really the responsibility of the lowarrayapp class to provide this methodthuslowarray java demonstrates how to divide program into classesbut it really doesn' buy us too much in practical terms let' see how to redistribute responsibilities between the classes to obtain more of the advantages of oop who' responsible for whatin the lowarray java programthe main()routine in the lowarrayapp classthe user of the data storage structuremust keep track of the indices to the array for some users of an arraywho need random access to array elements and don' mind keeping track of the index numbersthis arrangement might make sense for examplesorting an arrayas we'll see in the next can make efficient use of this direct hands-on approach in typical programhoweverthe user of the data storage device won' find access to the array indices to be helpful or relevant the higharray java example out next example program shows an improved interface for the storage structure classcalled higharray using this interfacethe class user (the higharrayapp classno longer needs to think about index numbers the setelem(and getelem(methods are gonethey're replaced by insert()find()and delete(these new methods don' require an index number as an argument because the class takes responsibility for handling index numbers the user of the class (higharrayappis free to concentrate on the what instead of the how--what' going to be inserteddeletedand accessedinstead of exactly how these activities are carried out figure shows the higharray interfaceand listing shows the higharray java program