// 使用迭代遍历集合 set 集合不允许包含相同的元素
public static void readSet(Set set){
//在迭代过程中不能修改集合元素
Iterator it = set.iterator();
if(set!=null){
while (it.hasNext()){
String s=(String) it.next();
System.out.println(s);
}
}
}
// 使用foreach 遍历集合元素
public static void readSetByForeach(Set set){
for(Object obj :set){
System.out.println(obj);
}
}
Treeset 确保集合元素处于排序状态 采用红黑树的数据结构
只有当需要一个保存排序的集合时 才使用treeset 否则都应该使用hashset 都是线程不安全的
List<String> c = new ArrayList<String>();
List<String> c1 = new ArrayList<String>();
c.add("拉拉了撒");
c.add("dasdas");
c.clear(); //清除集合所有元素
c1.addAll(c); // 把其他集合的元素加到指定集合
c1.contains("ss"); // 判断集合c1 中是否有ss元素
c1.containsAll(c);// 判断集合c1是否有listc 的所有元素
c1.retainAll(c);// 从集合中删除集合c 不包含的元素
c1.toArray(); // 把集合转换为数组
// list 根据索引来操作集合
public static void list(List list){
list.add("");
list.get(1);//根据索引来访问
list.set(1, "");
list.subList(1, 4);// 截取集合元素
}
public static void readList(List list){
ListIterator lit=list.listIterator();
while (lit.hasNext()){
System.out.println(lit.next());
}
//反向迭代集合
while (lit.hasPrevious()){
System.out.println(lit.previous());
}
}
ArrayList线程安全的集合 Vector 线程不安全的集合 按时性能低 还提供一个stack 子类
map 的相关操作
public static void map(Map map){
map.clear();// 删除所有key value 对
map.containsKey("");//查询数组是否包含指定key
map.containsValue("");//查询数组是否包含指定value
map.get("key"); // 根据key 来访问value
map.keySet();//返回所有的key 集合
map.put("", "");//添加元素
map.putAll(map);//把指定map的元素复制到本map中
map.remove("key"); //根据key来删除对应的元素
map.values();// 返回map中所有value 组成的集合
}
读取map集合
public static void readMap(Map map){
Object key = null;
Object value = null;
Iterator it = map.keySet().iterator();
while (it.hasNext()){
key=it.next();
value=map.get(key);
}
}
Map用于存储键值对,不允许键重复,值可以重复。
* (1)HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。
* HashMap最多只允许一条记录的键为null,允许多条记录的值为null。
* HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。
* 如果需要同步,可以用Collections.synchronizedMap(HashMap map)方法使HashMap具有同步的能力。
* (2)Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;
* 它支持线程的同步,即任一时刻只有一个线程能写Hashtable,然而,这也导致了Hashtable在写入时会比较慢。
* (3)LinkedHashMap保存了记录的插入顺序,在用Iteraor遍历LinkedHashMap时,先得到的记录肯定是先插入的。
* 在遍历的时候会比HashMap慢。
* (4)TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iteraor遍历TreeMap时,
* 得到的记录是排过序的
借助TreeMap的排序功能可以对map进行排序
操作集合的工具类 collections
public static void collections(List list){
Collections.reverse(list);// list集合次序反转
Collections.sort(list); // 排序
Collections.shuffle(list); //list集合随机顺序排序
Collections.replaceAll(list, "", "newVal"); //一个新值换所有的旧值
}
JAVA集合(List,Map.Set)相关操作
最新推荐文章于 2024-07-15 03:09:44 发布