package demo.mytest;

import java.lang.ref.SoftReference;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Queue;
import java.util.Set;
import java.util.TreeMap;
import java.util.Map.Entry;

/**
* 在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,
* 主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,
* 也就是主线程需要等待子线程执行完成之后再结束,这个时候就要用到join()方法了。
* @author Administrator
*
*/
public class TestDemo {
public static void main(String[] args) {
// String threadName = Thread.currentThread().getName();
// System.out.println(threadName + " start.");
// BThread bt = new BThread();
// AThread at = new AThread(bt);
// try {
// bt.start();
// Thread.sleep(2000);
// at.start();
// at.join();
// } catch (Exception e) {
// System.out.println("Exception from main");
// }
// System.out.println(threadName + " end!");

// Queue<String> queue = new LinkedList<String>();
// queue.offer("Hello");
// queue.offer("World!");
// queue.offer("好吧!");
// queue.offer("你好!");
// System.out.println(queue.size());
// String str;
// while((str=queue.poll())!=null){
// System.out.print(str);
// }
// System.out.println();
// System.out.println(queue.size());

// System.out.println("*************************LinkedHashMap*************");
// Map<Integer,String> map = new LinkedHashMap<Integer,String>();
// map.put(6, "apple");
// map.put(7, "banana");
// map.put(2,"pear");
//
// for (Iterator it = map.keySet().iterator();it.hasNext();)
// {
// Object key = it.next();
// System.out.println( key+"="+ map.get(key));
// }
// System.out.println("*************************HashMap*************");
// Map<Integer,String> map1 = new HashMap<Integer,String>();
// map1.put(6, "apple");
// map1.put(7, "banana");
// map1.put(2,"pear");
//
// for (Iterator it = map1.keySet().iterator();it.hasNext();)
// {
// Object key = it.next();
// System.out.println( key+"="+ map1.get(key));
// }

//HashMap
// System.out.println("------HashMap无序输出------");
// HashMap hsMap=new HashMap();
// hsMap.put("3", "Value3");
// hsMap.put("1", "Value1");
// hsMap.put("2", "Value2");
// hsMap.put("b", "ValueB");
// hsMap.put("a", "ValueA");
// Iterator it = hsMap.entrySet().iterator();
// while (it.hasNext()) {
// Map.Entry e = (Map.Entry) it.next();
// System.out.println("Key: " + e.getKey() + "--Value: "
// + e.getValue());
// }
//
// //TreeMap
// System.out.println("------TreeMap按Key排序输出------");
// TreeMap teMap=new TreeMap();
// teMap.put("3", "Value3");
// teMap.put("1", "Value1");
// teMap.put("2", "Value2");
// teMap.put("b", "ValueB");
// teMap.put("a", "ValueA");
// Iterator tit = teMap.entrySet().iterator();
// while (tit.hasNext()) {
// Map.Entry e = (Map.Entry) tit.next();
// System.out.println("Key: " + e.getKey() + "--Value: "
// + e.getValue());
// }
//
// //LinkedHashMap
// System.out.println("--LinkedHashMap根据输入的顺序输出--");
// LinkedHashMap lhsMap=new LinkedHashMap();
// lhsMap.put("3", "Value3");
// lhsMap.put("1", "Value1");
// lhsMap.put("2", "Value2");
// lhsMap.put("b", "ValueB");
// lhsMap.put("a", "ValueA");
// Iterator lit = lhsMap.entrySet().iterator();
// while (lit.hasNext()) {
// Map.Entry e = (Map.Entry) lit.next();
// System.out.println("Key: " + e.getKey() + "--Value: "
// + e.getValue());
// }

// List<String> listWithDup = new ArrayList<String>();
// listWithDup.add("1");
// listWithDup.add("2");
// listWithDup.add("3");
// listWithDup.add("1");
//
// List<String> listWithoutDup = new ArrayList<String>(new HashSet<String>(listWithDup));
// List<String> lists=new ArrayList<String>(new HashSet<String>(listWithDup));
// System.out.println("list with dup:"+ listWithDup);
// System.out.println("list without dup:"+ listWithoutDup);
// List list=new ArrayList();
// list.add("1");
// list.add("2");
// list.add("a");
// list.add("b");
// list.add("2");
// list.add("b");
// List list1= removeDuplicate(list);
// for(int i=0;i<list1.size();i++){
// System.out.println(list1.get(i));
// }

//弱引用.
// SoftReference<String> sr=new SoftReference<String>(new String("hello"));
// System.out.println("sr:"+sr.get());
// System.gc();
// System.out.println("sr2:"+sr.get());

//软引用
// WeakReference<String> wr=new WeakReference<String>(new String("hello"));
// System.out.println("wr:"+wr.get());
// System.gc();
// System.out.println("wr2:"+wr.get());

//Properties pps = System.getProperties();
//pps.list(System.out);
//String s="412723199902072119";//41**********2119
String s="130503670401001";
String s1=s.substring(2, s.length()-4);
StringBuffer sb=new StringBuffer(s.substring(0, 2));
for(int i=2;i<s.length()-4;i++){
sb.append("*");
}
sb.append(s.substring(s.length()-4));
System.out.println("s:"+s+",s1:"+s1+",sb:"+sb+",s:"+s.length());
// String s1=s.substring(2,s.length()-4);
// String s2=s.replace(s1,"************");
// System.out.println("s2:"+s2+",length:"+s2.length());
}
private static List removeDuplicate(List list) {
Set set = new HashSet();
List newList = new ArrayList();

for(Iterator iter = list.iterator();iter.hasNext();) {
Object element = iter.next();
if(set.add(element)) {
newList.add(element);
}
}
return newList;

}
}

java集合测试类等的更多相关文章

  1. Java集合---Array类源码解析

    Java集合---Array类源码解析              ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Prim ...

  2. 7.Java集合-Arrays类实现原理及源码分析

    Java集合---Arrays类源码解析  转自:http://www.cnblogs.com/ITtangtang/p/3948765.html 一.Arrays.sort()数组排序 Java A ...

  3. Java集合框架类

    java集合框架类图 Collection接口(List.Set.Queue.Stack):

  4. 如何在Java中测试类是否是线程安全的

    通过优锐课的java核心笔记中,我们可以看到关于如何在java中测试类是否线程安全的一些知识点汇总,分享给大家学习参考. 线程安全性测试与典型的单线程测试不同.为了测试一个方法是否是线程安全的,我们需 ...

  5. Java集合框架类图

    Java集合框架的类图 http://blog.toruneko.net/28

  6. Java集合Stream类filter的使用

    之前的Java集合中removeIf的使用一文写了使用removeIf来实现按条件对集合进行过滤.这篇文章使用同样是JDK1.8新加入的Stream中filter方法来实现同样的效果.并且在实际项目中 ...

  7. Java:集合工具类-Collections

    Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...

  8. Java集合---Arrays类源码解析

    一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型: ...

  9. Java—集合工具类

    集合中的元素工具类排序: Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序.查询和修改等操作,还提供了将集合对象置为不可变.对 ...

随机推荐

  1. jq weui 滚动加载的坑

    1.一般情况下使用官网给个demo就可以了,如下: var loading = false; //状态标记 $(document.body).infinite().on("infinite& ...

  2. cell内存优化

    UITableView的常用属性: 分割线颜色设置: 1> 设置separatorStyle: 分割线的颜色 方法:tableView.separatorStyle = UITableViewC ...

  3. AFN的使用

    http网络库是集XML解析,Json解析,网络图片下载,plist解析,数据流请求操作,上传,下载,缓存等网络众多功能于一身的强大的类库.最新版本支持session,xctool单元测试.网络获取数 ...

  4. C 语言实例 - 复数相加

    C 语言实例 - 复数相加 C 语言实例 C 语言实例 使用结构体(struct)将两个复数相加. 我们把形如 a+bi(a,b均为实数)的数称为复数,其中 a 称为实部,b 称为虚部,i 称为虚数单 ...

  5. C 语言实例 - 二进制与十进制相互转换

    C 语言实例 - 二进制与十进制相互转换 C 语言实例 C 语言实例 二进制转与十进制相互转换. 实例 - 二进制转换为十进制 #include <stdio.h> #include &l ...

  6. SpringBoot | Thymeleaf | 局部更新

    建立一个实体类: public class Fruit { int id; String name; public Fruit() { } public Fruit(int id, String na ...

  7. linux安装odbc for mysql

    1 安装驱动包 yum install unixODBC-devel -y yum install -y mysql-connector-odbc 2 配置数据源 [root@omserver-11 ...

  8. Codeforces Round #533(Div. 2) A.Salem and Sticks

    链接:https://codeforces.com/contest/1105/problem/A 题意: 给n个数,找到一个数t使i(1-n)∑|ai-t| 最小. ai-t 差距1 以内都满足 思路 ...

  9. PHP 字符 正则表达式 +,*,?

    1.“/”是定界符,“/”定界符之间的部分就是将要在目标对象中进行匹配的模式.同时为了正则更加灵活,引入了元字符,即“+”, “*”,以及 “?”. (1)“+”元字符规定其前导字符必须在目标对象中连 ...

  10. 20 个案例教你在 Java 8 中如何处理日期和时间?

    前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Jav ...