集合:
1、利用LinkedList模拟两个类,实现队列和栈的数据操作
2、去除ArrayList中的重复元素:arrayList.contains(obj)
3、将人Person(name,sex,age)存入ArrayList,并去除相同元素,同name、sex、age视为相同元素。
注意:使用collection.contains方法(底层使用的是元素的equals方法)
4、将Person(name,age)存入HashSet(重写hashCode()、equals(obj),注,不能用泛型,要不然不是重写、是重载)
4、将Person(name,age)存入TreeSet,分别用自然顺序、比较器方法,在分别按照姓名、年龄排序。
5、对字符串按照长度进行排序(使用TreeSet)
6、对字符串按照长度进行排序(使用TreeSet、匿名内部类)
7、对字符串按照长度进行排序(使用TreeSet、匿名内部类、泛型、倒序)
8、在网上购物系统中,必不可少的是购物车,现要求用Map模拟一个购物车,将商品id当做键、购买项目CartItrm[商品Product(int id,String name,double price),购买数量,总价]当做值存到Map中,并实现如下功能
1)添加一个商品,若购物车中已存在该商品,商品的购买数量加1
2)移除一个商品(不是把该商品数量减1)
3)获取总购买数量(要求使用方法values)
4)获取总价(要求使用方法keySet)//其实这里使用values比较好
5)遍历所有商品(要求使用方法entrySet)
9、将存入list集合中的String排序、按照长度排序。
10、Collections.fill(list,obj)是讲list中的元素全部替换成obj,请写一个方法,只替换部分
11、将TreeSet中的字符串分别按照字典顺序、长度排序,之后逆转这两个顺序
日期
1、获取任意年的二月的天数
方法一:判断闰年
方法二:把时间设置到xxxx年3月1号,时间减一
2、获取昨天的这个时间
3、获取某时间段除周三、周六的总天数
4、将Date安照指定格式输出
5、将String按照指定格式转为Date
6、实现Calendar、Date、String之间的转换
7、将"2015/05/08"转为"2015-05-08"
IO流
1、用Reader、Writer将D:\test.txt复制到D:\test1.txt
2、用FileReader、FileWriter将D:\test.txt的内容复制两次到D:\test1.txt
3、使用BufferedWriter&BufferedReader的readLine()&newLine()将D:\test.txt拷贝成D:\test1.txt
4、使用Reader类,自定义一个类MyBufferedReader,模拟BufferedReader,并且具备BufferedReader的readLine方法。(装饰设计模式)
5、读取test.txt文件的内容,并加上行号打印。
6、自定义一个类,继承MyBufferedReader,并且有getLineNumber()、setLineNumber(int)方法
7、利用FileReader、FileWriter将D:\test.img复制到D:\test1.img(复制的图片可能看不了)
8、利用字节流将D:\test.img复制到D:\test1.img
9、利用带缓存的字节流(BufferedInputStream\BufferedOutputStream) 复制一个媒体文件
File文件
1、将某目录下的非隐藏文件名打印出来(不是文件夹)
2、将某目录下的后缀名为 .txt 的文件筛选出来
3、将某目录下的文件夹名和文件名打印出来(包括子文件夹)
4、将某目录下的后缀名为 .txt 的文件筛选出来(包括子文件夹)
5、基于4,将绝对路径保存到txt文本中
6、统计某目录下的文件的总大小(包括子文件夹)
7、统计某目录下的后缀名为 .txt 的文件的总大小(包括子文件夹)
IO流(二)字符编码
1、从键盘读取数据,并将字母转换为大写,保存到文本文件
2、将文本中的数据,按照行的形式读取,显示到控制台(不允许使用println方法)
3、利用Properties将一个简单的异常保存到文件中
4、使用println方法,将文本中的数据,按照行的形式读取,显示到控制台
5、将一个30+M的文件,按照1M的大小切割
6、将切割后的文件还原(使用合并流SequenceInputStream)
7、对象序列化,明白serialVersionUID的作用
8、将同一内容保存成GBK、UTF-8的形式
9、将GBK的文本文件保存为UTF-8的形式
10、在桌面上新建文本,写入“联通”后保存关闭,再次打开成乱码,Why?怎么解决?
11、编写函数,从一个字符串中按字节数截取一部分,但不能截取出半个中文(GBK码表),例如:从“HM程序员”中截取2个字节是“HM”,截取4个则是“HM程”,截取3个字节也要是"HM"而不要出现半个中文
12
**********************************************************
有五个学生,每个学生有3门课的成绩,
从键盘输入以上数据(包括姓名,三门课成绩),
输入的格式:如:zhagnsan,30,40,60计算出总成绩,
并把学生的信息和计算出的总分数高低顺序存放在磁盘文件"stud.txt"中。
1,描述学生对象。
2,定义一个可操作学生对象的工具类。
思想:
1,通过获取键盘录入一行数据,并将该行中的信息取出封装成学生对象。
2,因为学生有很多,那么就需要存储,使用到集合。因为要对学生的总分排序。
所以可以使用TreeSet。
3,将集合的信息写入到一个文件中。
**********************************************************************
正则表达式:
1、将下字符串编程“我要学编程”
我我...我我...我要..要要...要要...学学学....学学...编编编...编程..程.程程...程...程
2、将ip地址按照地址段排序
192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30
思路:
1)将ip地址的每一段前面补0,使位数最短的段为3位
2)将所有段前面多余的0去除,使每段只有3位
3)按照空格分割,获取字符串数组
4)利用String的compareTo方法对数组排序
3、对邮箱地址进行校验
反射:
1、反射的三种获取方式
2、清楚double.class、Double.class和Double.TYPE之间关系
3、int[].class、new int[3].getClass()、new int[3][3].getClass()、new Integer[3][3].getClass()、int[][].class
4、利用反射机制,创建String对象
5、利用反射机制,修改Person(static nationality,name,sex,age)的两个对象的字段值
6、利用反射机制,获取两字符串的第五位、第七位字符
7、搞清楚因JDK1.5可变参数带来的自动解包的现象,
设计模式
1、单例设计模式——饿汉式、懒汉式
2、装饰设计模式
3、工厂设计模式
|
|