How can i create an array user meta?

As noted at the codex page for get_user_meta():

NOTE
If the meta value does not exist and $single is true the function will return an empty string. If $single is false an empty array is returned.

So I would suggest to do the check like this:

! empty( $themeta )

Regrading your other question, you can save the array by simply doing it like below:

$the_meta_array = array (
    'key-1' => 'value-1',
    'key-2' => 'value-2',
);  
$user_id = 12345;  
$user_meta_key = 'your-key';  
add_user_meta( $user_id, $user_meta_key, $the_meta_array );

Which is enough to save your array to the users meta data. add_user_meta() is just a wrapper for add_metadata(), the later uses maybe_serialize(), so your array will be saved as serialized string.

One more note about getting back the array you saved. You use get_user_meta(), which is just a wrapper for get_metadata(), the later uses maybe_unserialize(), so an array will be returned. But you probably want to do this with $single set to true when retrieving the meta data later on. Because the default value of the $single parameter is false:

$single
(boolean) (optional) If true return value of meta data field, if false return an array. This parameter has no effect if $key is left blank.
Default: false

$user_id = 12345;  
$user_meta_key = 'your-key'; 
$single = true;   
$retrieved_meta_array = get_user_meta( $user_id, $user_meta_key, $single );

If you don’t use true you will get back your array wrapped inside an additional array, as above cite does suggest, which you are most likely don’t want, because the array you saved is in this case actually the single value you want to return – ergo setting $single to true is the way to do it.