集合类的增删改查

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中和其他两个有相同的方法:如

voidclear() 
          从此映射中移除所有映射关系。
 Objectclone() 
          返回此 HashMap 实例的浅表副本:并不复制键和值本身。
 booleancontainsKey(Object key) 
          如果此映射包含对于指定键的映射关系,则返回 true。
 booleancontainsValue(Object value) 
          如果此映射将一个或多个键映射到指定值,则返回 true。
 Set<Map.Entry<K,V>>entrySet() 
          返回此映射所包含的映射关系的 Set 视图。
 Vget(Object key) 
          返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null
 booleanisEmpty() 
          如果此映射不包含键-值映射关系,则返回 true。
 Set<K>keySet() 
          返回此映射中所包含的键的 Set 视图。
 Vput(K key, V value) 
          在此映射中关联指定值与指定键。
 voidputAll(Map<? extends K,? extends V> m) 
          将指定映射的所有映射关系复制到此映射中,这些映射关系将替换此映射目前针对指定映射中所有键的所有映射关系。
 Vremove(Object key) 
          从此映射中移除指定键的映射关系(如果存在)。
 intsize() 
          返回此映射中的键-值映射关系数。
 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就可以了

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值