• 搭建java环境和java学习


    https://blog.csdn.net/fishe_r/article/details/18863447

    其中的

    java配置文件用:


    {
    "shell_cmd": "runJava.bat "$file"",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "encoding":"UTF-8"
    }

    就行.这样能显示中文

     环境变量做好后,用cmd中java -version来看是否成功安装

    修改快捷键

    在Sublime中点击【Preferences】-【Key Bindings-User】,打开配置文件

    复制这一句,{ "keys": ["f5"], "command": "build" }并且粘贴到右边,然后保存就大功告成。

    关闭退出来,按f5运行试试

    干死升级提醒●https://blog.csdn.net/xlei1123/article/details/52702447         最后的注册码百度一下最新的填上.

    https://www.cnblogs.com/joeblackzqq/p/4485067.html       安装解码显示中文

    ● a.equals(b)  返回a,b的值是否相等

    a==b   返回a,b地址是否相同

    但是8大基本类型里面的==是判断值相等.

    ●重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。

    bitset 也就是c++的bitmap

    import java.util.BitSet;
     
    public class BitSetDemo {
     
      public static void main(String args[]) {
         BitSet bits1 = new BitSet(16);
         BitSet bits2 = new BitSet(16);
          
         // set some bits
         for(int i=0; i<16; i++) {
            if((i%2) == 0) bits1.set(i);
            if((i%5) != 0) bits2.set(i);
         }
         System.out.println("Initial pattern in bits1: ");
         System.out.println(bits1);
         System.out.println("
    Initial pattern in bits2: ");
         System.out.println(bits2);
     
         // AND bits
         bits2.and(bits1);
         System.out.println("
    bits2 AND bits1: ");
         System.out.println(bits2);
     
         // OR bits
         bits2.or(bits1);
         System.out.println("
    bits2 OR bits1: ");
         System.out.println(bits2);
     
         // XOR bits
         bits2.xor(bits1);
         System.out.println("
    bits2 XOR bits1: ");
         System.out.println(bits2);
      }
    }
    View Code

    字典:

    import java.util.*;
    
    public class Test {
    
       public static void main(String[] args) {
          Map m1 = new HashMap(); 
          m1.put("Zara", "8");
          m1.put("Mahnaz", "31");
          m1.put("Ayan", "12");
          m1.put("Daisy", "14");
          System.out.println(" Map Elements");
          System.out.print("	" + m1);
       }
    }
    View Code
    HashMap和Hashtable都是存储“键值对(key-value)”的散列表,而且都是采用拉链法实现的。
    存储的思想都是:通过table数组存储,数组的每一个元素都是一个Entry;而一个Entry就是一个单向链表,Entry链表中的每一个节点就保存了key-value键值对数据。
    
    添加key-value键值对:首先,根据key值计算出哈希值,再计算出数组索引(即,该key-value在table中的索引)。然后,根据数组索引找到Entry(即,单向链表),再遍历单向链表,将key和链表中的每一个节点的key进行对比。若key已经存在Entry链表中,则用该value值取代旧的value值;若key不存在Entry链表中,则新建一个key-value节点,并将该节点插入Entry链表的表头位置。
    删除key-value键值对:删除键值对,相比于“添加键值对”来说,简单很多。首先,还是根据key计算出哈希值,再计算出数组索引(即,该key-value在table中的索引)。然后,根据索引找出Entry(即,单向链表)。若节点key-value存在与链表Entry中,则删除链表中的节点即可。
    View Code     字典的原理

    其实,若了解它们之间的不同之处后,可以很容易的区分根据情况进行取舍。例如:(01) 若在单线程中,我们往往会选择HashMap;而在多线程中,则会选择Hashtable。(02),若不能插入null元素,则选择Hashtable;否则,可以选择HashMap。

    红黑树:也叫有序哈希表

    import java.util.Comparator;
    import java.util.Iterator;
    import java.util.Set;
    import java.util.TreeMap;
    
    
    public class Test {
        public static void main(String[] args) {
            TreeMap<String,Integer> map = new TreeMap<String,Integer>(new xbComparator());
            map.put("key_1", 1);
            map.put("key_2", 2);
            map.put("key_3", 3);   
            //红黑树里面的序是针对key 的//这个序就很好排了,因为红黑树默认是升序排列.所以
            //设置好排序函数xbComparator后,就按照key_3到key_1来输出了.
            //总结这种哈希表的使用情况:当需要利用key-value来存储数据时候,还需要对数据进行排序操作.
            //这时候显然是红黑树可以胜任的.也就是废除了哈希表查询O(1),而用log(N)的时间来实现,同时保证了
            //序结构.
            Set<String> keys = map.keySet();
            //变成迭代器
            Iterator<String> iter = keys.iterator();
            while(iter.hasNext())
            {
                    String key = iter.next();
                    System.out.println(" "+key+":"+map.get(key));
            }
        }
    }
    class xbComparator implements Comparator
    {
        public int compare(Object o1,Object o2)
        {
            String i1=(String)o1;
    
            String i2=(String)o2;
    
            return -i1.compareTo(i2);
        }
    }
    View Code

    虽然基本不用,但是因为以前对算法导论上面的红黑树结构读了半个月左右,突然感觉对java使用确实很好用.

    ●返回对象的类型:getClass 函数

    TreeMap<String,Integer> map = new TreeMap<String,Integer>(new xbComparator());
    System.out.println(map.getClass());

    ●安装linux的java

    用的是windows的子系统.ubuntu16先安装的,后来发现还有18版本就安装18了,发现他安装很快,应该是直接在16上升级的.

    安装:https://blog.csdn.net/weixin_41977631/article/details/80672717

    试了可以安装,但是400多mb.就算了,还是用windows的吧

  • 相关阅读:
    Java系列: JAVA字符串格式化-String.format()的使用(zz)
    Eclipse系列: 在Eclipse中用TODO标签管理任务(Task)(ZZ)
    JNDI全面总结(zz)
    Java Platform Standard Edition 8 Documentation
    JAVA NIO是什么(zz)
    Java NIO框架Mina、Netty、Grizzly介绍与对比(zz)
    Bootstrap系列 -- 25. 下拉菜单分割线
    Bootstrap系列 -- 24. 下拉菜单基本用法
    Bootstrap系列 -- 23. 图片
    Bootstrap系列 -- 22. 按钮详解
  • 原文地址:https://www.cnblogs.com/zhangbo2008/p/9270774.html
Copyright © 2020-2023  润新知