If your fields are named field0, field1, field2, field3..., then you have to retrieve the parameters under the names field1, field2, field3
This code doesn't need to know how many items there are. It assumes when it doesn't find an item, that there are no more. That works for textboxes/select items, but won't work for checkboxes.
On request.getParameterValues(): this gets all the values for parameter. eg reading=Headfirst Java&reading=Struts in Action&reading=Design Patterns All of these have the same parameter name, but multiple values were submitted. However there is no guaruntee on the order of those parameters. In your case if the textbox and select box are linked, you can't be sure that you match them up correctly unless you number them yourself.
Also there is a useful package in the jakarta commons: BeanUtils. If you name your fields field, field, field then it will automagically retrieve them as array fields. (This is used in Struts)