java日常笔记2016-12-21

1:web1.0和web2.0


2:集合的合并

public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		list.add(55);
		list.add(62);
		list.add(35);
		list.add(75);
		Set<Integer> set = new HashSet<>();
		set.add(55);
		set.add(62);
		set.add(35);
		set.add(75);
	/*	for (Integer integer : set) {
			list.add(integer);
		}*/
		list.addAll(set);
		
		System.out.println(list.size());
		
	}

3:集合顺序的倒置 将集合和数组之间的互换

List<Person> list = new ArrayList<>();
		Person p1 = new Person("p1",52,"124");
		Person p2 = new Person("p2",59,"125");
		Person p3 = new Person("p3",12,"124");
		Person p4 = new Person("p4",37,"124");
		Person p5 = new Person("p5",88,"124");
		list.add(p1);
		list.add(p2);
		list.add(p3);
		list.add(p4);
		list.add(p5);
		Collections.reverse(list);
		/*Person[] ps = list.toArray(new Person[]{});
		List<Person> listp = Arrays.asList(ps);
		System.out.println(ps.length);*/


4:判断对象是否相同与 可比较没有关系

Set<Person> set = new HashSet<>();
		Person p1 = new Person("p1",52,"124");
		Person p2 = new Person("p2",59,"125");
		//判断对象是否相同与 可比较没有关系
		Person p3 = new Person("p3",12,"124");
		Person p4 = new Person("p4",37,"124");
		Person p5 = new Person("p5",88,"124");
		set.add(p1);
		set.add(p2);
		System.out.println(set.size());


5:TreeSet集合中只有有比较方法时才能排序

Set<Person> set = new TreeSet<>(new Comparator<Person>() {
			public int compare(Person o1, Person o2) {
				return o1.getAge()-o2.getAge();
			}
		});


6:ArrayList和Vector( synchronizedCollection可处理线程安全问题)

//非线程安全
		List<Integer> list1 = new ArrayList<Integer>();
		Collections.synchronizedCollection(list1);//了解
		//线程安全
		List<Integer> list2 = new Vector<Integer>();


7:TreeSet添加两个相同的数据时,只接受一个 只返回一个(原理是因为得到的值都是一样的)

Person p1 = new Person(232);
		Person p2 = new Person(232);
		System.out.println(p1.equals(p2));

8:list集合(ArrayList、LinkedList、Vetor)Set集合(HashSet、LinkedHashSet、TreeSet)Map集合(HashMap、 HashtableLinkedHashMapTreeMap

collecttions工具类里面有许多方法可以对集合进行操作(substring() sublist())


9:HashMap(允许键为空值、键值会覆盖、默认为无序、值可以为null)、Hashtable(不允许键为空值、线程安全)

Employee e6 = new Employee("b001","那英",250);
		//List Vector
		//HashMap  Hashtable 
		//map:就是一个键值对,键不能重复,当重复到时候被覆盖!
		Map<String,Employee> map = new HashMap<String,Employee>();
//		map.put(null, new Employee("cowB", "好开心", 0.0));
		map.put(e1.getEmpNo(), e1);
		map.put(e2.getEmpNo(), e2);
		map.put(e3.getEmpNo(), e3);
		map.put(e4.getEmpNo(), e4);
		map.put(e5.getEmpNo(), e5);
		map.put(e6.getEmpNo(), e6);

10:Map集合中的keySet()、entrySet()

Map<String,Employee> map = new HashMap<String,Employee>();
//		map.put(null, new Employee("cowB", "好开心", 0.0));
		map.put(e1.getEmpNo(), e1);
		map.put(e2.getEmpNo(), e2);
		map.put(e3.getEmpNo(), e3);
		map.put(e4.getEmpNo(), e4);
		map.put(e5.getEmpNo(), e5);
		map.put(e6.getEmpNo(), e6);
//		map.remove(e6.getEmpNo());
		//a)得到左边,便利左边拿右边!
		/*Set<String> keys = map.keySet();
		for (String key : keys) {
			System.out.println(key + ":" + map.get(key));
		}
		for(Iterator<String> ita=map.keySet().iterator();ita.hasNext();) {
			String key = ita.next();
			System.out.println(key + ":" + map.get(key));
		}
		*/
//		b)先得到所有实体Set,遍历实体Set,获取建和值
		Set<Map.Entry<String,Employee>> all = map.entrySet();
		for (Map.Entry<String, Employee> entry : all) {
			String key = entry.getKey();
			Employee emp = entry.getValue();
			System.out.println(key  + ":"+emp);
		}


11:Enumeration和Hashtable获取集合的值

/*Vector<String> vector = new Vector<String>();
		vector.add("重庆");
		vector.add("成都");
		vector.add("昆明");
		vector.add("南宁"); 
		Enumeration<String> all = vector.elements();
		while(all.hasMoreElements()){
			String str = all.nextElement();
			System.out.println(str);
		}*/
		Hashtable<String, String> hb  = new Hashtable<String, String>();
		hb.put("001", "长沙");
		hb.put("002", "武汉");
		hb.put("003", "郑州");
		Enumeration<String> values = hb.elements();
		while (values.hasMoreElements()) {
			String key = values.nextElement();
			System.out.println(key);
		}
	}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值