Un array es una estructura para almacenar datos al igual que ArrayList. Si estos datos son números puedes hacer sumas de lo que necesites al acceder a las posiciones (como sumar vectores, contadores por posiciones, etc). También puedes utilizar HashMap para guardar estructuras de datos en formato clave y valor.
Entiendo que si tienes los polinomios:
p(x) = 3X² + 2X + 1
q(x) = 10X² + 20X + 30
Entonces su suma:
p(x) + q(x) = 13X² + 22X + 31
Por lo que la estructura que sería serían dos ArrayList pareados (en el que añades los valores a la par), y al recorrerlos los recorrería a la par para extraer los valores e ir haciendo la suma de cada parte. Es decir tendría los ArrayList:
p => [3, 2, 1]
q => [10, 20, 30]
Cuyo Array List resultante sería:
p + q => [13, 22, 31]
Para hacerlo con ArrayList es muy sencillo, sigue el siguiente tutorial:
http://jarroba.com/arraylist-en-java-ejemplos/