java中Set,Map,Stack一些简单用法
import java.util.Iterator;
import java.util.Stack;
import java.io.*;
import java.util.Set;
import java.util.Map;
import java.util.HashMap;
import java.util.TreeSet;
public class StackUsing{
public static void main(String args[]) throws IOException{
Stack<Integer> s = new Stack<Integer>();
int i;
for(i=0; i<10; ++i)
s.push(i); //it.hasNext()如果还有元素可以继续进行迭代,返回true! it.next()返回当前迭代器所指向的元素,并指向下一个迭代的对象
for(Iterator<Integer>it = s.iterator(); it.hasNext(); ){//从栈底开始打印
System.out.println(it.next());
} for(Integer k:s){
System.out.println(k);
} while(!s.empty()){//从栈顶开始打印
System.out.println(s.pop());
} Set<Integer> st = new TreeSet<Integer>();
for(i=0; i<10; ++i)
st.add(i);
for(Integer k: st){//可以这样遍历一个集合对象
System.out.println(k);
} for(Iterator<Integer>it = st.iterator(); it.hasNext(); ){//也可以这样遍历一个集合对象
System.out.println(it.next());
} Set<myInteger> stp = new TreeSet<myInteger>();//实验一下自己定义的类的集合
for(i=0; i<10; ++i)
stp.add(new myInteger(i, i*2)); for(myInteger x:stp){
System.out.println(x.first + " " + x.second);
} Map<String, Integer>mp = new HashMap<String, Integer>();
String str;
BufferedReader myInput = new BufferedReader(new InputStreamReader(System.in)); str=myInput.readLine();
while(str.compareTo("#")!=0){
Integer cnt=mp.get(str);
if(cnt==null)
cnt=new Integer(0);
++cnt;
mp.put(str, cnt);
str=myInput.readLine();
} ///3种遍历Map的方式
for(String ss : mp.keySet()){
System.out.println(ss + " " + mp.get(ss));
}
System.out.println("**********************"); //静态内部类是属于类的,不是属于某一个实例的;静态内部类随着类加载而加载,非静态内部类是随着实例的加载而加载
for(Map.Entry<String, Integer>entry : mp.entrySet()){//返回此映射中包含的映射关系的 set 视图。返回的 set 中的每个元素都是一个 Map.Entry
System.out.println(entry.getKey() + " " + entry.getValue());
}
System.out.println("**********************"); for(Iterator<Map.Entry<String, Integer> > it = mp.entrySet().iterator(); it.hasNext(); ){
Map.Entry<String, Integer>entry=it.next();
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
} class myInteger implements Comparable{
int first;
int second;
public myInteger(int a, int b){
first=a;
second=b;
}
public myInteger(){
first=0;
second=0;
}
public int compareTo(Object x){
if(first>((myInteger)x).first) return -1;//在这里实现的是从大到小排序
else if(first==((myInteger)x).first) return 0;
else return 1;
}
}
java中Set,Map,Stack一些简单用法的更多相关文章
- 刷题upupup【Java中Queue、Stack、Heap用法总结】
[Queue] 先进先出(First-In-First-Out),LinkedList实现了Queue接口.它只允许在表的前端进行删除操作,而在表的后端进行插入操作. add() 增加一个 ...
- 谈谈java中遍历Map的几种方法
java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 先初始化一个map public ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- Java中Set Map List 的区别
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...
- JAVA中关于Map的九大问题
通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提 ...
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- js中的Map对象的简单示例
es6提供一个对象Map, 其功能类似于java中的Map, 下面是java中的Map和js中的Map的简单对比: js中的Map.set()相当于java中的Map.put(), js中的Map.s ...
- java中遍历Map几种方法
java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点. 先初始化一个map: publ ...
- Java中遍历Map集合的四种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
随机推荐
- db2 日期时间格式
db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...
- python小程序
使用python实现在crt中捕捉出现的异常信息,并统计出现的次数: #$language = "Python" #$interface = "1.0" def ...
- bootstrap之HTML模板
bootstrap之HTML模板 <!DOCTYPE html> <html> <head> <title>Bootstrap 模板</title ...
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sS ...
- 图——拓扑排序(uva10305)
John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task i ...
- Android中数据存储(一)
国庆没有给国家添堵,没有勾搭妹子,乖乖的写着自己的博客..... 本文将为大家介绍Android中数据存储的五种方式,数据存储可是非常重要的知识哦. 一,文件存储数据 ①在ROM存储数据 关于在ROM ...
- CF2.D 并查集+背包
D. Arpa's weak amphitheater and Mehrdad's valuable Hoses time limit per test 1 second memory limit p ...
- asp.net[web.config] httphandlers 与实现自由定义访问地址
今天一起来看一个简单的例子,主要是用来实现一个映射功能,我们一般访问一个网址的时候比如是这样的http://localhost:6166/WebSite1/api/request.aspx?strte ...
- Delphi中stringlist分割字符串的用法
Delphi中stringlist分割字符串的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 1.CommaT ...
- PCA与LDA的区别与联系
由于涉及内容较多,这里转载别人的博客: http://blog.csdn.net/sunmenggmail/article/details/8071502 其实主要在于:PCA与LDA的变换矩阵不同, ...