A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 晓恣晴空 中级黑马   /  2014-10-13 16:10  /  3443 人查看  /  32 人回复  /   5 人收藏 转载请遵从CC协议 禁止商业使用本文

先是写了一个题,题目如下写一个txt文档(全是字母),读取txt文档的内容,统计各个字母的个数,并把统计情况保存到一个a.txt文档里
具体代码应该论坛能够搜索到,因为这是一个测试题,应该算是中等难度

其他问题
1、说说集合框架结构?


2、如何获取字节码?



3、如何创建线程?


4、线程的状态


5、关闭和刷新的区别


6、说说sleep,wait这两个关键字。sleep的时间单位是什么?


7、对于反射的理解


8、其他的应该都是些细节问题,随后总结


答案,会稍后发布,现在技术分不够,求加分啊!

评分

参与人数 3技术分 +3 黑马币 +20 收起 理由
蛋黄 + 20 赞一个!
格子、 + 1 赞一个!
杨佳名 + 2 淡定。最近尽自己努力帮帮周围的人.

查看全部评分

32 个回复

倒序浏览
哪天分配名额?楼主分很急我知道,但之后也别水帖,学习了这么多肯定有很多能帮到周围的人。只要是尽力帮我看到后不会吝啬加分的。若这样,最后还是不够,我可以把我的黑马币补给你。因为需保证公平,楼主就先想着尽自己的力量帮助更多人就好了。
回复 使用道具 举报
杨佳名 发表于 2014-10-13 16:20
哪天分配名额?楼主分很急我知道,但之后也别水帖,学习了这么多肯定有很多能帮到周围的人。只要是尽力帮我 ...

嗯,我知道不能水贴的,所以都是在发技术类的,包括自己曾经记录的笔记,希望能够帮到别人吧
回复 使用道具 举报
本帖最后由 晓恣晴空 于 2014-10-13 16:25 编辑

还是先把答案贴出来public class Test01 {

        /**
         * 写一个txt文档(全是字母),读取txt文档的内容,统计各个字母的个数,并把统计情况保存到一个a.txt文档里
         * @param args
         */
        public static void main(String[] args) {
                File fileName=new File("src.txt");
                File toFileName=new File("dest.txt");
               
                countFunc(fileName,toFileName);

        }
        public static void countFunc(File fileName,File toFileName){
                BufferedReader br=null;
                BufferedWriter bw=null;
                FileInputStream fi;
                try {
                        fi = new FileInputStream(fileName);
                        InputStreamReader is= new InputStreamReader(fi, "GBK");
                        br=new BufferedReader(is);
                        
                        TreeMap<Character,Integer> tm=new TreeMap<Character, Integer>();
                        
                        String line=null;
                        
                        while((line=br.readLine())!=null){
                                char[] ch=line.toCharArray();
                                for(int i=0;i<ch.length;i++){
                                        if(tm.containsKey(ch)){
                                                tm.put(ch, tm.get(ch)+1);
                                        }else{
                                                tm.put(ch, 1);        
                                        }
                                }
                        }
                        FileOutputStream fs=new FileOutputStream(toFileName);
                        OutputStreamWriter ow=new OutputStreamWriter(fs,"GBK");
                        bw=new BufferedWriter(ow);
                        
                        Set<Map.Entry<Character,Integer>> entrySet=tm.entrySet();
                        Iterator<Map.Entry<Character,Integer>> it=entrySet.iterator();
                        while(it.hasNext()){
                                Map.Entry<Character,Integer> me=it.next();
                                Character key=me.getKey();
                                Integer value=me.getValue();
                                
                                bw.write(key+":出现了"+value+"次");
                                bw.newLine();
                                bw.flush();
                        }
                        System.out.println();
                } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (UnsupportedEncodingException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }finally{
                        try{
                                if(br!=null){
                                        br.close();
                                }
                        }catch(IOException e){
                                System.out.println("读取流关闭失败");
                        }
                        try{
                                if(bw!=null){
                                        bw.close();
                                }
                        }catch(IOException e){
                                System.out.println("写入流关闭失败");
                        }
                }
        }
}


写的比较仓促,不完善,后期修改吧
回复 使用道具 举报
本帖最后由 晓恣晴空 于 2014-10-13 16:29 编辑

第一个
集合框架主要是Collection框架。
Collection接口下面有三个子接口:List,Set,Map
List 接口是有序的,可重复的,有角标。
Set 接口是无序的,不可以重复。
Map 接口里面存放的是键值对形式存在。

List 接口下面有3个子类对象:ArrayList,LinkedList,Vector.
ArrayList和Vector的内部结构是数组,Vector是同步的,里面有一个枚举类型,
Arraylist是线程不同步的,Arraylist判断元素唯一性的依据是equals方法,并且Arraylist取代了vector。
Linkedlist :内部结构是链表。

Set 接口下面有2个子类:HashSet和TreeSet
HashSet:内部结构是哈希表,判断元素唯一性的依据首先是HahsCode,然后是equals。
TreeSet:内部结构是二叉树,判断元素唯一性的依据是CompareTo的return 方法。

Map:接口有3个子类对象Hahshtable、HahsCode、TreeMap
Hashtable和HashCode内部结构都是哈希表,
TreeMap的内部结构是二叉树。
第二个
获取字节码有3中方式:一:类名.class;二:对象名.getClass();三:Class.forName("类名");
第三个
创建线程有2种方式:一:继承Thread类;二:实现Runnable接口;还有一种通过线程池executor.newSingleThreadPloo();而且都必须覆盖run()方法。
第四个

回复 使用道具 举报

48:(差好多技术分啊
回复 使用道具 举报
杨佳名 发表于 2014-10-13 16:20
哪天分配名额?楼主分很急我知道,但之后也别水帖,学习了这么多肯定有很多能帮到周围的人。只要是尽力帮我 ...

今天下午6点之前:(不知道能不能来得及呢
回复 使用道具 举报
晓恣晴空 发表于 2014-10-13 16:59
今天下午6点之前不知道能不能来得及呢

因为公平,不能给技术分了。相当于借你的,之后帮助更多人吧
回复 使用道具 举报
杨佳名 发表于 2014-10-13 17:04
因为公平,不能给技术分了。相当于借你的,之后帮助更多人吧

嗯嗯,谢谢,以后会帮助更多人的
回复 使用道具 举报
天弓 初级黑马 2014-10-13 17:13:55
10#
都是重点,呵呵
回复 使用道具 举报
天弓 发表于 2014-10-13 17:13
都是重点,呵呵

会陆续将答案补充完整的
回复 使用道具 举报
很好呀。。。。。。。。。。。。。。。
回复 使用道具 举报
这发帖时间才一个小时。。。大家就把分给你送够了,黑马学员都太友爱了,感动。。。
回复 使用道具 举报
sk0806 高级黑马 2014-10-13 18:00:46
14#
谢谢楼主啊,,大家就应该互相帮助,总结的很好,copy走,,,看你黑马币技术分分现在够了,也不是土豪,不给了哈,有需要的,随时可以
回复 使用道具 举报
这是面试题?
回复 使用道具 举报
话说后付款只能 考进前5吗,那岂不是一个班70人65个人都要先交钱
目前没那么多钱怎么办
回复 使用道具 举报
70个人里只有前5名才能后付款么?
回复 使用道具 举报
技术分不够?
回复 使用道具 举报
谢谢分享!!
回复 使用道具 举报
Doit 中级黑马 2014-10-13 21:52:55
20#
谢谢分享!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马