Table_Dynamic_Array1
The example below, shows to create a dynamic list using TABLE function. Both Array  and TABLE uses single column as an attribute.
SET SERVEROUTPUT ON;
CREATE OR REPLACE
TYPE dynamic_list IS TABLE OF VARCHAR2(20);
/
SELECT column_value
FROM TABLE(dynamic_list('JAN','FEB','MAR','APR', 'MAY'))
ORDER BY 1;
/
A table of collection is used as a User-Defined- Type .

create or replace
TYPE empOBJ AS OBJECT
(
fname VARCHAR(20),
lname VARCHAR(30),
address VARCHAR(100)
);

CREATE TABLE empT1
(
eid NUMBER(2) NOT NULL,
info scott.empOBJ
);