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(用于流数据传输的时候)、
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码