hashmap,contentvalue,namevaluepair,jsonobjectjava
ArrayList和HashMap的區別:
內部元素:ArrayList儲存的是單個對象(此對象是能夠經過設置對象類進而封裝各類數據的),即ArrayList<user> al = new ArrayList<user>();
而HashMap儲存的是一組一組的key和value,像:HashMap<int,String> hm = new HashMap<int,String>();
查找效率:HashMap的效率高些,由於它是散列存儲的複雜度比較低,而ArrayList是順序存儲的。ArrayList是有序的,而HashMap無序。
繼承接口:HashMap是繼承的Map接口,存放的是<key,value>且不容許key爲null。ArrayList是繼承的list接口,存儲形式相似鏈表,容許隨機的數據訪問。(HashMap是容許使用 null 值和 null 鍵的!Hashtable是不容許的!)
例如:android
import java.util.HashMap; public class Student { String name; String sex; public Student(String n,String s) { name=n; sex=s; } public String toString(){ return ("姓名:"+name+"\n"+"性別:"+sex+"\n"); } public static void main(String [] args){ ArrayList<Student> al=new ArrayList<Student>(); HashMap hm=new HashMap(); Student s1=new Student("張三","男"); Student s2=new Student("李四","男"); Student s3=new Student("小利","女"); //存值是根據學生編號加上學生信息這樣的一組信息 hm.put("001",s1); hm.put("002",s2); hm.put("003",s3); //存值是直接存入一個對象實例 al.add(s1); al.add(s2); al.add(s3); //查找學生編號是001的學生 //由於hm.get("001")反回的是Object因此加上強轉 Student s=(Student)hm.get("001");//經過鍵名來取 Student s1=(Student)al.get(0);//相似數組經過下標來取 System.out.println(s.toString()); } }
android中的NameValuePair(使用url進行數據傳輸)和ContentValues(數據庫寫入的時候的內容組裝)以及jsonobject(用於流數據傳輸的時候)、數據庫
NameValuePair: String url="http://www.baidu.com"; HttpPost httppost=new HttpPost(url); //創建HttpPost對象 List<NameValuePair> params=new ArrayList<NameValuePair>(); //創建一個NameValuePair數組,用於存儲欲傳送的參數 params.add(new BasicNameValuePair("id","2544")); params.add(new BasicNameValuePair("pwd","2544")); //添加參數 httppost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); //設置編碼 HttpResponse response=new DefaultHttpClient().execute(httppost); //發送Post,並返回一個HttpResponse對象 ContentValues: ContentValues values=new ContentValues(); value.put("valuename",value); jsonobject: JsonObject jso=new JsonObject(); jso.put("valuename",value); jso.getString("valuename");