集合--Map

import java.util.*;
/*
 * Map接口原理
 */
public class Demo1 {
	public static void main(String[] args) {
	
		//非常规的使用
		Map<Integer, Object> map=new HashMap<Integer,Object>();
		//for循环往map中输入数据
		for (int i = 0; i < 10; i++) {
			map.put(i, "zhangs"+i);
		}
		//foreach遍历
	System.out.println("=====");
	
		//map 特性,通常的使用情况。
		Person p1 = new Person();
		p1.setAge(20);
		p1.setName("张三");

	}
	
	public void test(Person person){
		System.out.println(person.getAge()>20);
	}
	
	public void test1(Map map){
		System.out.println((Integer)map.get("age")>20);
	}
	
	//获取 年龄,姓名,分页信息
	public Map<String, Object> getP(){
		int age=100;
		String name="a";
		int page = 2;
		
		Person p = new Person();
		p.setAge(age);
		p.setName(name);
		
		Map<String,Object> map = new HashMap<String,Object>();
		//code:标记    page:页数    date:数据(Person)
		map.put("page", page);
		map.put("date", p);
		return map;
		
	}
}

/*
 * Map接口
 * 1.存放key-value数据
 * key,不可以重复(底层使用的set)
 * value,可以重复的,底层使用的collections接口
 * 2.实现类:
 * HashMap
 * LinkedHashMap
 * TreeMap
 * HashTable(已过时不再使用)线程安全的容器
 * Properties是HashTable的子类,做键值对文件读取。
 * 3.常用方法:
 *     put(key,value)
 *     get(key);返回object
 *     size()
 *     keySet();返回一个Set容器,获取所有的Key。
 *     values();获取所有的values,封装到一个实现了collection接口的容器里面(不常用)
 */

集合遍历

import java.util.*;
import java.util.Map.Entry;

public class Demo2 {

	public static void main(String[] args) {
		//非常规的使用
		Map<Integer, Object> map=new HashMap<Integer,Object>();
		//for循环往map中输入数据
		for (int i = 0; i < 10; i++) {
			map.put(i, "zhangs"+i);
		}
		
		//1.遍历方式:keySet
		Set<Integer>keySet = map.keySet();
		for (Integer temp : keySet) {
			//因为value值是字符串类型。所以可以把获取到的object进行强制转换
			String string=(String)map.get(temp);
			System.out.println(string);
		}
		
		//
		
	System.out.println("=====");
	
		//map 特性,通常的使用情况。
		Person p1 = new Person();
		p1.setAge(20);
		p1.setName("张三");
		//实体类——>map容器
		Map<String,Object> perMap=new HashMap<String,Object>();
		perMap.put("name", "张三");   //key=实体类中的属性名称(name)(age)
		perMap.put("age", 20);
		
		//2.遍历map get(提前得知的key)用的最多
		String name = (String)perMap.get("name");
		int age = (Integer)perMap.get("age");
		System.out.println(name+" "+age);
		
		//3.(不常用)遍历map,获取所有values
		Collection<Object> values=perMap.values();
		Iterator<Object> iterator = values.iterator();
		while(iterator.hasNext()){
			Object v=iterator.next();
			System.out.println(v);
		}
		
		//4.entrySet遍历map,把map中每一个键值对封装到Set<Entry>
		Set<Entry<String, Object>> entrySet = perMap.entrySet();
		for (Entry<String, Object> entry : entrySet) {
			String key = entry.getKey();			//获取key的方法
			Object temObject = entry.getValue();		//获取value的方法
			System.out.println(key+" "+temObject);
		}
		testTreeMap();
		
	}
	
	
	public static void testTreeMap(){
		Map<Integer, Object>treeMap=new TreeMap<Integer, Object>();
		treeMap.put(3, "a");
		treeMap.put(7, "b");
		treeMap.put(1, "c");
		
	//遍历,根据key值做了一个排列
		for(Integer key: treeMap.keySet()){
			System.out.print(treeMap.get(key)+" ");//输出c,a,b
		}
		System.out.println();
		
		//定制排序
		Map<String, Object> tmap=new TreeMap<String,Object>(new Comparator<String>() {

			@Override
			public int compare(String o1, String o2) {
				//自定义
				return o1.compareTo(o2);
			}
		});
		tmap.put("b", "b");
		tmap.put("a", "a");
		tmap.put("c", "c");
		for(String k:tmap.keySet()){
			Object object = tmap.get(k);
			System.out.println(object);
		}
		
	}
	
	public void sortList(){
		List<Person> arrayList = new ArrayList<Person>();
		Person p1=new Person();
		p1.setName("jom");
		Person p2=new Person();
		p1.setName("cat");
		Person p3=new Person();
		p1.setName("dog");
		
		//collections工具类
		// Collections.sort(arrayList);  //需要Person类实现comparable接口
		Collections.sort(arrayList,new Comparator<Person>() {

			@Override
			public int compare(Person o1, Person o2) {
				// TODO Auto-generated method stub
				return 0;
			}
		});
	
	}
	}

 文件的加载,Properties类

import java.io.*;
import java.util.*;

/*
 * properties类
 */
public class Demo3 {

	public static void main(String[] args) throws FileNotFoundException, IOException {
		Properties pros=new Properties();
		//设置绝对路径,不常用
		//pros.load(new FileInputStream("E:\\javafile\\Demo13_2\\src\\jdbc.properties"));
		
		//获取类加载器
		InputStream resourceAsStream = Demo3.class.getClassLoader().getResourceAsStream("jdbc.properties");
		pros.load(resourceAsStream);
		String user=pros.getProperty("user");
		System.out.println(user);

	}

}

 jdbc.properties

user=root
pwd=root
url=localhost

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值