〈JAVA〉集合框架

Java .util 包下:(数据多了用对象储存,对象多了用集合储存)

     -->Collection<E>:线性数据结构 

        常用结构 --> List                   Set                          -->Map(不实现Collection接口)

                             |                           |                                  |

              有序  可重复      无序  不重复(重复则覆盖) (key  value)映射 key不重复

                     -->ArrayList (不同步)、LinkList(不同步)、Vector (同步)    

                     -->HashSet、TreeSe

                     -->HashMap  HashTable  TreeMap

 

List:顺序为存储顺序,可以通过<下标>访问。

 一些常用方法:1.remove(element/index);   按元素删除或者按下标删除

                           2.get(index);     得到该下标元素

                      3.在表头部或尾部添加元素       addFirst();   addLast();

                           4.双向遍历

                  //双向遍历   后序  前序
	          while(it.hasNext()){
			System.out.print(it.next()+" ");

	          }
                  while(it.hasPrevious()){
			System.out.print(it.previous()+" ");

	           }


 

 

Set:   集合中的对象是无序的,不能像数组那样根据下标遍历,可以通过迭代方式遍历.                                                  

Iterator迭代器:是获取集合中元素的过程,实际上帮助获取集合中的元素

//Set   测试Set
	public void testSet(){
		/**
		 * set  无序    不重复
		 * HashSet TreeSet
		 */
		Set set = new HashSet();
		set.add(1);
		set.add(2);
		set.add(100);
		set.add(4);
		set.add(100);
		
		System.out.println("set--size=="+set.size());
		//从set上获取迭代器
		Iterator it = set.iterator();
		//遍历  
		while(it.hasNext()){
			System.out.print(it.next()+" ");
		}
	}


常用方法:(-->TreeSet)

1. set1.remove(element);删除某元素

    如果该元素不存在,则System.out.println("delete..."+set1);则打印false

2.查找某元素,即该集合包含某元素,contains();

3.A∪B    a.addAll(b);

4.A-B      a.removeAll(b);

5.A∩B     a.retainAll(b)

6.其他方法

	//得到first()  last() 元素
	System.out.println(treeSet.first());
	//返回给定元素的前面的元素                tailSet()-〉返回给定元素后面的集合   
	treeSet.headSet(7);
	//lower比给定元素小的最大元素      higher()->给定元素右侧相邻元素
	System.out.println(treeSet.lower(18));
	//pollFirst()删除并显示第一个元素
	System.out.println(treeSet.pollFirst());
	//celling()小于等于该元素.floor()大于等于该元素 


 

 

 

Map :(Key-value)键值对,遍历Map时可以先用迭代器得到key,再通过key与value的对应得到value

Map map = new HashMap();
		map.put(1, "aaa");
		map.put(2, "bbb");
		map.put(3,"ccc");
		map.put(2,"ddd");
		System.out.println(map.size());
		Set set = map.keySet();
		//遍历set
		Iterator it = set.iterator();
		while(it.hasNext()){
			Object key = it.next();
			Object value = map.get(key);
			System.out.println("key="+key+" value="+value);
		}
	}



 

 

 

 

数组:保存同一种类型,大小一经给定不能再更改,(可以再新创建一个同一种类型的新数组,保存数据后在赋值给原来需要改变数组的大小的数组);

 集合:创建时候可以不需要给定集合 大小,可以保存不同类型的数据(可以混存整形,浮点,对象,字符、字符串等)。

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值