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是不允许的!)
例如:
android中的NameValuePair(使用url进行数据传输)和ContentValues(数据库写入的时候的内容组装)以及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");
相关文章推荐
- Android 生成xml文件
- 动态获取程序的版本名称的方法以及dialog的简单用法以及两种上下文的区别
- Android 热补丁动态修复框架小结
- Android开源框架——事件总线otto
- Android录音、WAV、AMR
- Ubuntu16.04搭建ionic开发环境
- 从头学android_activity之间的切换_姻缘测算器
- 两个surfaceview的重叠效果类似直播效果中的视频和讲义实践
- Android ListView优化
- 02、Android 开发环境搭建
- 01、Android简介
- Android仿qq健康效果
- 解决“Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environ”
- the logging tag can be at most 23 characters
- Android 动画中的Interpolator
- android:getSlotFromBufferLocked: unknown buffer: 0xf3d544c0
- android:getSlotFromBufferLocked: unknown buffer: 0xf3d544c0
- Android Studio 下的 GitHub 配置
- Android中的AlarmManager的使用
- Android5.1系统外部存储和U盘可写解决方案