您的位置:首页 > 移动开发 > Android开发

android中的键值对

2016-06-04 20:28 323 查看
hashmap,contentvalue,namevaluepair,jsonobject

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是不允许的!)
例如:

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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: