java集合

java集合:一种工具类,储存任意数量的具有共同属性的对象

1.1 java集合框架体系 collection map

​ collectin-有三个子接口 list set queue map-------HashMap

1.2 list的实现类arraylist,linkedlist ,set的实现类 HashSet

​ list是对象有序并且可以重复的集合,称之为序列

​ list添加对象的方式 add("对象") ,add(下标,"对象")

​ addall(new Array.asList(数组));addall(new Array.asList(下标,数组));

​ llist li<类>=new Arraylist<类>();

list li<类>=new Arraylist<类>();

       li.add("第一个对象");

       li.add(1,"第二个对象");//指定位置2,插入指定数据
       int i=(String)li.get(0); //取出第一个位置(索引)的对象
       
       String [] str={"对象A","对象B"}
        li.addall(new Array.asList(str));
        
        String [] str={"对象C","对象D"}
        li.addall(new Array.asList(2,str)); //在位置2.插入指定数组数据
        
        //遍历list数据
        for(int i=0;i<li.size();i++){
            int k=(String)li.get(i);
            system.out.print(k);
        }
        //通过迭代器遍历list
        Iterator it=li.iterator()
        while(it.hasNext()){
            String str=(String)it.next();
        }
        //通过Foreach遍历list
        for(object obj:li){
           String str=(String)obj; 
        }
        
        li.set(0,"修改对象"); //修改下标索引的对象
        li.remove(0);   //删除指定下标的对象
        li.remove("对象");   //删除指定对象
	/**
	 * 取得List中的元素的方法
	 * @param args
	 */
	public void testGet() {
		int size = coursesToSelect.size();
		System.out.println("有如下课程待选:");
		for(int i= 0 ; i < size; i++) {
			Course cr = (Course) coursesToSelect.get(i);
			System.out.println("课程:" + cr.id + ":" + cr.name);
		}
	}
	
	/**
	 * 通过迭代器来遍历List
	 * @param args
	 */
	public void testIterator() {
		//通过集合的iterator方法,取得迭代器的实例
		Iterator<Course> it = coursesToSelect.iterator();
		System.out.println("有如下课程待选(通过迭代器访问):");
		while(it.hasNext()) {
			Course cr = it.next();
			System.out.println("课程:" + cr.id + ":" + cr.name);
		}
	}
	
	/**
	 * 通过for each方法访问集合元素
	 * @param args
	 */
	public void testForEach() {
		System.out.println("有如下课程待选(通过for each访问):");
		for (Object obj : coursesToSelect) {
			Course cr = (Course) obj;
			System.out.println("课程:" + cr.id + ":" + cr.name);
		}
	}

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,以提高代码的重用率,基本类型必须使用包装类来实现泛型

​ 2.1set接口极其实现类----Hashset(哈希集)

​ set是元素无序并且不可重复的集合---集

​ set中,添加某个对象,无论添加多少次,最终只会保留一个该对象。

由于set属于无序列表所以set中不存在set,get方法可以设置和获取集合中的值,也不可以通过for遍历取得里面的值,只能通过foreach和迭代器进行遍历,关于从父接口collection继承的add() addall(),remove() removeall()方法的使用如同list。

set  course=new Hashset();
 course.add("第一个对象");
  //通过Foreach遍历list
        for(object obj:course){
          object obj=obj; 
        }
 //通过迭代器遍历list
        Iterator it=course.iterator()
        while(it.hasNext()){
           Object obj   =course.next();
        }

3.1java中的map集合使用键(key)值(value)来保存数据,其中值(value)可以重复,但键(key)必须是唯一,也可以为空,但最多只能有一个key为空,它的主要实现类有HashMap、LinkedHashMap、TreeMap。

//创建实例化一个map集合 <k,v>为泛型,表示键必须为k类型,值必须为v类型
Map mm<k,v>=new Hashmap<k,v>();
//给map接口添加键值对
mm.put(key,values);
//删除键值为key的键值对
mm.remove(key);
//查找某个键的值
V  v=   mm.get(key);
//通过迭代器遍历map
Set<k> keys=mm.keyset();
  Iterator<k> it= Keys.iterator();
while(it.hasNext()){
    k kw=it.next();
}

/**
	 * 测试Map的keySet方法,通过键得到值
*/
	public void testKeySet() {
		// 通过keySet方法,返回Map中的所有“键”的Set集合
		Set<String> keySet = mm.keySet();
		// 取得mm的容量
		System.out.println("总共有:" + mm.size() + "个学生!");
	// 遍历keySet,取得每一个键,再调用get方法取得每个键对应的value
		for (String stuId : keySet) {
			Student st = mm.get(stuId);
			if (st != null)
				System.out.println("学生:" + st.name);
		}
	}
/**
	 * 通过entrySet方法来遍历Map
	 */
	public void testEntrySet() {
		// 通过entrySet方法,返回Map中的所有键值对
		Set<Entry<String, Student>> entrySet =                                mm.entrySet();
		for (Entry<String, Student> entry : entrySet) {
			System.out.println("取得键:" + entry.getKey());
			System.out.println("对应的值为:" +                                entry.getValue().name);
		}
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值