集合类的增删改查

List的增删改查

package daili;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class myinterfaceimpl{
public static void main(String[] args) {
	List<String> list1=new ArrayList<String>();
	List<String> list2=new LinkedList<String>();
	list1.add(0, "第一个");
	list1.add("第二个");
	list2.add("1");
	list2.add("2");
	System.out.println(list1);
	System.out.println(list2);
	list1.addAll(list2);
	System.out.println(list1);
	
	list1.remove(2);
	System.out.println(list1);
	
    for (int i = 0; i < list1.size(); i++) {
    	if(list1.get(i).length()>2)
    	{
    		list1.remove(i);
    	}
		
	}
	System.out.println(list1);
	Collections.synchronizedList(list1);
	
}

SET的增删改查

package daili;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class myinterfaceimpl {
	public static void main(String[] args) {
		Set<String> set = new TreeSet<String>();
		set.add("第一个");
		set.add("第二个");
		set.add("第三个");
		set.add("第一个");
		System.out.println(set);
		
		System.out.println(set.contains("diyige"));
		
		set.remove("第一个");
		set.clear();
		System.out.println(set);
		
	}

}

MAP的增删改查

一键不能对多值,当然实现一键多值只会把前值覆盖了,键还是那把键

反过来,一值是可以对应多键的

map中和其他两个有相同的方法:如

void clear() 
          从此映射中移除所有映射关系。
 Object clone() 
          返回此 HashMap 实例的浅表副本:并不复制键和值本身。
 boolean containsKey(Object key) 
          如果此映射包含对于指定键的映射关系,则返回 true。
 boolean containsValue(Object value) 
          如果此映射将一个或多个键映射到指定值,则返回 true。
 Set<Map.Entry<K,V>> entrySet() 
          返回此映射所包含的映射关系的 Set 视图。
 V get(Object key) 
          返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null
 boolean isEmpty() 
          如果此映射不包含键-值映射关系,则返回 true。
 Set<K> keySet() 
          返回此映射中所包含的键的 Set 视图。
 V put(K key, V value) 
          在此映射中关联指定值与指定键。
 void putAll(Map<? extends K,? extends V> m) 
          将指定映射的所有映射关系复制到此映射中,这些映射关系将替换此映射目前针对指定映射中所有键的所有映射关系。
 V remove(Object key) 
          从此映射中移除指定键的映射关系(如果存在)。
 int size() 
          返回此映射中的键-值映射关系数。
 Collection<V> values() 
          返回此映射所包含的值的 Collection 视图

紫色标的这些都是相同的和其他两个集合类,另外contain分为两块一个是检测值存在一个是检测键存在

其他集合类用add,map使用put,且其他的remove为移值,而map为移除键,自然也把值移除了;

另外还需注意是map的遍历方法与前两者有所区别

前两种的遍历的两种常用方法

//法1
for(String str:set/list(对象))
{
    system.out.println(str);
}

//法2

iterator it=set/list.iterator()
while(it.hasNext){
  system.out.println(it.next())
}

map的遍历方法

map的遍历 
for (Integer key : map.keySet()) {
      System.out.println(key+map.get(key));	
		}



set的遍历
 for (Integer integer : set) {
			System.out.println(integer);
		}
        

对比set和map的 遍历方法可以得出,map真正遍历的是key,value不过是key找到后的值而已。而寻找到key只要寻找到map对应的set就可以了

猜你喜欢

转载自blog.csdn.net/zhunquanjiong6199/article/details/82260932