1.数组转集合
String[] array = {"a","b","c","d","e"};List<String> list = Arrays.asList(array);但是该集合list不能进行 add、remove、clear方法 否则会抛出异常,需要注意
2.集合转数组
String[] array = new String[list.size()];array = list.toArray(array);
3.遍历Map集合用entrySet()
for (Map.Entry<String, String> entry:map.entrySet()){if ("age".equals(entry.getKey())){Log.e("entrySet遍历:",""+entry.getValue());}
}entrySet()返回的是K-V集合 比keySet()速度快、效率高
4.List集合对象排序:List<Person> 根据Id排序
·4.1方式一:Person对象实现Comparable<T>接口,通过>0 =0 <0来比较大小,根据Id做排序 直接用id相减
public class Person implements Comparable<Person> {private int id;private String name;private int age;
public int getId() {return id;}
public void setId(int id) {this.id = id;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public int getAge() {return age;}
public void setAge(int age) {this.age = age;}
@Override
public int compareTo(Person another) {return another.id - this.id;}
}实现对List对象进行排序:Collections.sort(persons); for (Person p:persons){ Log.e("排序:", "" + p.getId()+","+p.getName()); }
·4.2方式二:不实现Comparable接口,使用Collections.sort(List<T>, Comparator<T>)方法;
Collections.sort(persons, new Comparator<Person>() {@Override
public int compare(Person lhs, Person rhs) {return rhs.getId() - lhs.getId() ;}
});
5.不能在foreach循环里,对集合进行add、remove操作,否则会抛异常,需要使用iterator方式
Iterator<String> iterator = list.iterator();while (iterator.hasNext()){
String tmp = iterator.next();
if (tmp.equals("p")){iterator.remove();
}
}