Java持有对象

本文详细介绍了Java集合框架中的三种基本数据结构:栈、集和映射。通过实例展示了如何使用LinkedList实现栈的功能,Stack的push、peek、pop操作;Set接口的HashSet和TreeSet,包括添加元素、遍历元素;以及Map接口的put、get、containsKey、containsValue、keySet和values方法。这些内容对于理解和应用Java集合框架至关重要。

1.Stack:栈通常是指后进先出的容器,LinkedList能直接实现栈的所有功能,可以直接作为栈使用。

public static void main(String[] args) {
    Stack<Integer> s=new Stack<>();
    s.push(1);
    Integer peek = s.peek();
    System.out.println("栈顶元素:"+peek);
    boolean empty = s.empty();
    System.out.println("栈是否为空:"+empty);
    Integer pop = s.pop();
    System.out.println("删除栈顶元素:"+pop);
}

2.Set:Set不保存重复的元素,查找是Set中最重要的操作。HashSet查询快,使用散列函数,无序。TreeSet将元素存储在红-黑数数据结构中,有序。

HashSet示例:

public static void main(String[] args) {
    Set<String> s = new HashSet<>();
    s.add("春天");
    s.add("夏天");
    s.add("秋天");
    s.add("冬天");
    for (String str : s) {
        System.out.println(str);
    }
}

TreeSet示例:

public static void main(String[] args) {
    Set<String> s=new TreeSet<>();
    s.add("春天");
    s.add("夏天");
    s.add("秋天");
    s.add("冬天");
    Iterator<String> it = s.iterator();
    while (it.hasNext()) {
        System.out.println(it.next());
    }
}

3.Map:将对象映射到其他对象,put()添加键值对。get()获取指定key对应对value。containsKey()查看是否包含某个键。containsValue()查看是否某个值。keySet()产生所有键组成的Set。values() 返回映射中所有value。

containsKey()示例:

public static void main(String[] args) {
    Map<Integer, String> m = new HashMap<>();
    m.put(1, "春天");
    m.put(2, "夏天");
    m.put(3, "秋天");
    m.put(4, "冬天");
    System.out.println(m.containsKey(2));
}

containsValue()示例:

public static void main(String[] args) {
    Map<Integer, String> m = new HashMap<>();
    m.put(1, "春天");
    m.put(2, "夏天");
    m.put(3, "秋天");
    m.put(4, "冬天");
    System.out.println(m.containsValue("夏天"));
}

keySet()示例:

public static void main(String[] args) {
    Map<Integer, String> m = new HashMap<>();
    m.put(1, "春天");
    m.put(2, "夏天");
    m.put(3, "秋天");
    m.put(4, "冬天");
    System.out.println(m.keySet());
}

values()示例:

public static void main(String[] args) {
    Map<Integer, String> m = new HashMap<>();
    m.put(1, "春天");
    m.put(2, "夏天");
    m.put(3, "秋天");
    m.put(4, "冬天");
    System.out.println(m.values());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值