集合框架
1Collection(集合) 2Map
1.1List 1.2Set 2.1HashMap 2.2HashTable
1.1.1Vector 1.2.1 HashSet
1.1.2ArrayList 1.2.2TreeSet
1.1.3LinkedList
----------------------------------------------------------------------
1)vector.add(data)通过这种方法为vector添加元素。
2)vector.size()返回vector的元素个数(长度)。
3)vector.get(i)通过这种方法获得vertor中的元素。
4)忽略大小写比较字符串。
TestVector.java
对vector基础操作的一个练习。
输出:
输入 360 输入 hello 输入 3.14159 输入 over
[360, hello, 3.14159]
360
hello
3.14159
----------------------------------------------------------------------
1)本例区别了addAll和add的区别,前者类似于数组的拷贝,而后者仅仅把vector的参数当做一个元素存入。
2) indexOf返回元素在vector中的编号。此编号跟存入vector的先后有关,前面的元素消失,后面的元素序号向前进一位。
3) isEmpty()是否为空返回布尔,contains(a)是否包含a元素返回布尔。
TestVector2.java
对vector基础操作的又一个练习。
输出:0
true
false
[hello, world]
1
[[hello, world]]
----------------------------------------------------------------------
1)前半段是关于装箱拆箱的例子,int a是以前的实现方法,而b是用了装箱拆箱后的实现。
2)泛型,就是用尖括号定义了这个vector内的元素类型必须统一。
3)for in 循环
Test.java
装箱拆箱,泛型的说明
输出:[12, 122] 12 122
arg0
arg02
arg022
----------------------------------------------------------------------
hashSet中的元素在内存中存储的位置是通过哈希算法来确定的,故方便快速定位查询。
1) 本例走了一个极端让添加的元素都有相同的哈希码,而且比较它们永远返回真,说明比较的Dog是相同的。故HashSet中只有一个元素。
2)add自定义对象时候注意写法
TestHash.java
对哈希码的一个小测验。
输出:
1
tom|10
----------------------------------------------------------------------
1)在main函数外面定义了全局都要经常用到的Vector和键盘输入。
2)student的equel方法 在定义modStu()函数indexOf(new Student(x))语句中用到。
StudentManage.java
学生管理系统(不健壮,仅仅实现基本功能,学习用),键盘输入,对学生信息进行增删改。老师提供的健壮版这里不写了。
输出:
1加;2删;3改;4打印;5退出
输入选项:1
加学生 姓名:tom
英文成绩:100
JAVA成绩:96
继续加娃娃不? Y/N : y
加学生 姓名:alex
英文成绩:86
JAVA成绩:99
继续加娃娃不? Y/N : n
1加;2删;3改;4打印;5退出
输入选项:4
学生tom的 英语成绩:100 JAVA成绩:96
学生alex的 英语成绩:86 JAVA成绩:99
1加;2删;3改;4打印;5退出
输入选项:2
删学生 姓名:alex
1加;2删;3改;4打印;5退出
输入选项:4
学生tom的 英语成绩:100 JAVA成绩:96
1加;2删;3改;4打印;5退出
输入选项:5
----------------------------------------------------------------------
1)这个例子使用的是2.1HashMap,和vector不同的是:HashMap存储数组是利用数值对存储。
2)泛型可以定义两个类型的格式
Trans.java
把汉字解释成为拼音的小程序
输出:hello, zheng bei yi ye。
1Collection(集合) 2Map
1.1List 1.2Set 2.1HashMap 2.2HashTable
1.1.1Vector 1.2.1 HashSet
1.1.2ArrayList 1.2.2TreeSet
1.1.3LinkedList
----------------------------------------------------------------------
1)vector.add(data)通过这种方法为vector添加元素。
2)vector.size()返回vector的元素个数(长度)。
3)vector.get(i)通过这种方法获得vertor中的元素。
4)忽略大小写比较字符串。
TestVector.java
对vector基础操作的一个练习。
import java.util.*; public class TestVector { public static void main(String[] args) { Vector v=new Vector(); System.out.println("输入"); Scanner s = new Scanner(System.in); String data = s.next(); while(!data.equalsIgnoreCase("over")){ v.add(data); //(1) System.out.println("输入"); Scanner s1 = new Scanner(System.in); data = s1.next(); } System.out.println(v); for(int i=0;i<v.size();i++){//(2) System.out.println(v.get(i)); //(3) } } }
输出:
输入 360 输入 hello 输入 3.14159 输入 over
[360, hello, 3.14159]
360
hello
3.14159
----------------------------------------------------------------------
1)本例区别了addAll和add的区别,前者类似于数组的拷贝,而后者仅仅把vector的参数当做一个元素存入。
2) indexOf返回元素在vector中的编号。此编号跟存入vector的先后有关,前面的元素消失,后面的元素序号向前进一位。
3) isEmpty()是否为空返回布尔,contains(a)是否包含a元素返回布尔。
TestVector2.java
对vector基础操作的又一个练习。
import java.util.*; public class TestVector2 { public static void main(String[] args) { Vector v=new Vector(); Vector v2=new Vector(); Vector v3=new Vector(); v.add("hello");//(1) v.add("world");//(1) v2.addAll(v); v3.add(v); System.out.println(v2.indexOf("hello"));//(2) System.out.println(v2.contains("world"));//(3) System.out.println(v2.isEmpty());//(3) System.out.println(v2); System.out.println(v3.size()); System.out.println(v3); } }
输出:0
true
false
[hello, world]
1
[[hello, world]]
----------------------------------------------------------------------
1)前半段是关于装箱拆箱的例子,int a是以前的实现方法,而b是用了装箱拆箱后的实现。
2)泛型,就是用尖括号定义了这个vector内的元素类型必须统一。
3)for in 循环
Test.java
装箱拆箱,泛型的说明
import java.util.Vector; public class Test { public static void main(String[] args) { Vector v =new Vector(); v.add(new Integer(12)); int a=((Integer) v.get(0)).intValue(); v.add(122); //(1) int b=(Integer)v.get(1); //(1) System.out.println(v+" "+a+" "+b); Vector<String> v2 =new Vector<String>();//(2) v2.add("arg0"); v2.add("arg02"); v2.add("arg022"); for(String s : v2){ //(3) System.out.println(s); } } }
输出:[12, 122] 12 122
arg0
arg02
arg022
----------------------------------------------------------------------
hashSet中的元素在内存中存储的位置是通过哈希算法来确定的,故方便快速定位查询。
1) 本例走了一个极端让添加的元素都有相同的哈希码,而且比较它们永远返回真,说明比较的Dog是相同的。故HashSet中只有一个元素。
2)add自定义对象时候注意写法
TestHash.java
对哈希码的一个小测验。
import java.util.*; public class TestHash { public static void main(String[] args) { HashSet<Dog> s= new HashSet<Dog>(); s.add(new Dog("tom",10)); //(2) s.add(new Dog("jim",12)); s.add(new Dog("kite",40)); System.out.println(s.size()); for(Dog a:s){ System.out.println(a); } } }
Dog.java public class Dog { String name; int age; public Dog(String name, int age) { this.name = name; this.age = age; } public boolean equals(Object arg0) {//(1) return true; } public int hashCode() {//(1) return 1; } public String toString() { return (this.name+"|"+this.age); } }
输出:
1
tom|10
----------------------------------------------------------------------
1)在main函数外面定义了全局都要经常用到的Vector和键盘输入。
2)student的equel方法 在定义modStu()函数indexOf(new Student(x))语句中用到。
StudentManage.java
学生管理系统(不健壮,仅仅实现基本功能,学习用),键盘输入,对学生信息进行增删改。老师提供的健壮版这里不写了。
import java.util.*; public class StudentManage { static Vector<Student> v =new Vector<Student>();//(1) private static Scanner scan = new Scanner(System.in); //(1) public static void main(String[] args) { while(true){ System.out.println(); System.out.println("1加;2删;3改;4打印;5退出"); System.out.print("输入选项:"); int sel = scan.nextInt(); switch (sel) { case 1: addStu(); break; case 2: delStu(); break; case 3: modStu(); break; case 4: prtStu(); break; case 5: System.exit(0); } } } static void addStu(){ boolean iscon=true; do{ System.out.print("加学生 姓名:"); String x1 = scan.next(); System.out.print("英文成绩:"); int x2 = scan.nextInt(); System.out.print("JAVA成绩:"); int x3 = scan.nextInt(); Student thestu = new Student(x1,x2,x3); v.add(thestu); System.out.print("继续加娃娃不? Y/N : "); String x4 = scan.next(); if(x4.equalsIgnoreCase("n")){ iscon=false; } }while(iscon); } static void delStu(){ System.out.print("删学生 姓名:"); String x = scan.next(); v.remove(new Student(x)); } static void modStu(){ System.out.print("改学生 姓名:"); String x = scan.next(); int index=v.indexOf(new Student(x)); //(2) Student s=(Student)v.get(index); System.out.print("改学生 英语:"); int x1 = scan.nextInt(); System.out.print("改学生 JAVA:"); int x2 = scan.nextInt(); s.setEans(x1); s.setJans(x2); } static void prtStu(){ for (int i = 0; i < v.size(); i++) { Student stu = (Student) v.get(i); System.out.println("学生" +stu.getName() + "的 英语成绩:" + stu.getEans() + " JAVA成绩:" +stu.getJans()); } } }Student.java
public class Student { private String name; private int eans; private int jans; Student(String a,int b,int c){ this.name=a ; this.eans=b; this.jans=c; } Student(String a){ this.name=a; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getEans() { return eans; } public void setEans(int eans) { this.eans = eans; } public int getJans() { return jans; } public void setJans(int jans) { this.jans = jans; } public boolean equals (Object stu){ //-------------indexOf(new Student(x))用这个判断 return this.name.equalsIgnoreCase(((Student)stu).name); } }
输出:
1加;2删;3改;4打印;5退出
输入选项:1
加学生 姓名:tom
英文成绩:100
JAVA成绩:96
继续加娃娃不? Y/N : y
加学生 姓名:alex
英文成绩:86
JAVA成绩:99
继续加娃娃不? Y/N : n
1加;2删;3改;4打印;5退出
输入选项:4
学生tom的 英语成绩:100 JAVA成绩:96
学生alex的 英语成绩:86 JAVA成绩:99
1加;2删;3改;4打印;5退出
输入选项:2
删学生 姓名:alex
1加;2删;3改;4打印;5退出
输入选项:4
学生tom的 英语成绩:100 JAVA成绩:96
1加;2删;3改;4打印;5退出
输入选项:5
----------------------------------------------------------------------
1)这个例子使用的是2.1HashMap,和vector不同的是:HashMap存储数组是利用数值对存储。
2)泛型可以定义两个类型的格式
Trans.java
把汉字解释成为拼音的小程序
import java.util.*; public class Trans { public static void main(String[] args) { String s="hello,正北一夜。"; System.out.println(findWay(s)); } static String findWay(String s){ HashMap<String,String>map=new HashMap<String,String>();//(1、2) map.put("yin", "因引印银音饮阴隐荫吟尹寅茵淫殷姻烟"); map.put("biao", "表标彪膘杓婊飑飙鳔瘭飚镳裱骠镖"); map.put("bian", "边变便遍编辩扁贬鞭卞辨辫忭砭匾苄"); map.put("yi", "一以已亿衣移依易医乙仪亦椅益倚姨翼译"); //……老多老多了,本处只截取很短很短一点 map.put("fen", "分份芬粉坟奋愤纷忿粪酚焚吩氛汾喷"); map.put("ye", "也夜业野叶爷页液掖腋冶噎耶咽曳椰邪谒邺晔烨揶"); map.put("ya", "呀压牙押芽鸭轧哑亚涯丫雅衙鸦"); map.put("zheng", "正整睁争挣征怔证症郑拯丁蒸狰政峥钲铮筝诤"); map.put("ben", "本奔苯笨夯锛贲畚坌"); map.put("bei", "被北倍杯背悲备碑卑贝辈钡焙狈惫"); map.put("zhang", "张章长帐仗丈掌涨账樟杖"); String p=""; Set <String>keys=map.keySet();//把每个读音的行提出来,添加到keys for(int i=0;i<s.length();i++){ String c = "" + s.charAt(i); boolean isFound = false; for(String key:keys ){ String value = map.get(key);//通过读音桥梁,得到每个读音的所有字 if(value.indexOf(c)>=0){ p=p+" "+key; isFound=true; break; } } if(!isFound){ //p=c+p; p=p+c; } } return p; } }
输出:hello, zheng bei yi ye。
发表评论
-
线程 第六讲 091212B
2009-12-24 17:02 782public class TestThread extends ... -
swing 监听 匿名、内部、外部类 第六讲091212A
2009-12-17 10:59 1266import javax.swing.JFrame; pub ... -
山寨版的Log4j 测试输入输出流 第五讲091205B(补充)
2009-12-17 10:53 9191)一次读入一行 2)读下一个字符filereader.rea ... -
File类 IO流 第五讲091205B
2009-12-10 10:20 7701)file.listFiles()返回f目录下的文件数组 2 ... -
集合补充 数字日期字符串格式化 第五讲091205A
2009-12-10 10:06 9011)Date(*,*,*)构造方法已经不推荐使用。 2)Cal ... -
古诗填字游戏 第四讲091121B
2009-11-27 11:32 1627老师说这个是网易的一道面试题。 填字游戏.java imp ... -
数组、常见类:字符串 第四讲091121A
2009-11-26 10:42 761Arr.java //从数组a[]里,寻找who出现的次数。 ...
相关推荐
用vector写的学生管理系统,简洁易懂 在vc6.0上运行没有问题
初学vector,写了个简单的学生管理系统。
学生成绩管理(主要是Vector的用法),通过编程了解操作符重载的方法。
使用STL中的VECTOR LIST 容器实现学生管理系统,代码实现增删差改
C语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC语言头文件 VECTORC...
4、编写程序实现添加学生功能,创建界面,提示用户输入内容,生成实体类,放入数组; 5、编写程序实现学生信息删除,从数组中移除相应数据; 6、编写程序实现学生信息修改,从数组中读取学生信息显示在GUI界面中,...
姓名转拼音(一对一,首字母+全拼音);姓名转拼音(一对多,首字母+全拼音) 1. 版本:V1.0 日期:2019年06月06日 2. 详情: https://blog.csdn.net/weixin_38887369/article/details/91047524 // 本开源项目...
导入Vector can DBC文件,自动生成程序使用的结构体,生成.h文件
纯c语言的向量vector实现,实现c++中vector的一些基本的特性和操作,适用于一些只支持c语言的平台上使用vector数据结构,包含测试用例以及函数的使用范例
(二)实现任意添加学生的信息。(三)实现查询学生的信息。(四)实现删除学生的信息。(五)实现编辑学生的信息。可根据查询结果对相应的学生信息进行修改。(六)实现学生的信息保存功能。(七)实现注销功能。
java 学生成绩管理系统 源代码 import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; import java.lang.*; public class Students.java extends Applet implements ...
vector的c语言实现,支持各种数据类型,相当于使用C语言实现了模板功能
用C语言实现的STL下的vector,经过了我们项目的测试
学生管理系统#include <vector.h> //The type of action enum ActKind { A_PROC ,A_REG ,A_FILE ,A_NET };
矢量转换软件VectorMagic 中文 矢量转换软件VectorMagic 中文
完整版的学生信息管理系统代码,利用了vector容器,文件流读取保存数据。具有查看,添加,修改,删除等多项功能,界面友好。
svg转换成Android 可用的vector。 下载,解压后,直接打开index.html。 把下载的svg文件拖动到框里即可。
用c++stl实现的学生成绩管理系统,代码简单明了,易懂,且该代码是安全可靠的
比较简洁的c++/c学生管理系统 面向对象,使用vector类,方便初学者使用,学习
图片转矢量图VectorMagic