} // ArrayList::__construct() $arr = array('a' => $jack, 'b' => $mary, 'c' => $foo); try { echo "Construct from array\n"; $list2 = new ArrayList($arr, 'Person'); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } echo "Construct from array II.\n"; $list2 = new ArrayList($arr); Debug::dump((array) $list2); // readonly collection echo "Construct as readonly\n"; $list2 = new ArrayList($arr); $list2->freeze(); Debug::dump($list2->isFrozen()); try { echo "Adding Jack using []\n"; $list2[] = $jack; } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Adding Jack using insertAt\n"; $list2->insertAt(0, $jack); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Removing using unset\n";