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. HDU5918【KMP大法好,虽然我不会】

    #include <bits/stdc++.h> using namespace std; typedef long long LL; const; int n,m; int a[MAX] ...

  2. Withdraw From OI

    Withdraw From OI 已经退役一周了,但还是迟迟没有去写退役记,在这个2017年的最后一天,写下这一篇沉重的“withdraw from OI”. 距离联赛成绩出来已经一个多月了.这一个月 ...

  3. 笔记-JavaWeb学习之旅11

    请求转发:一种在服务器内部的资源跳转方式 使用步骤 1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path) ...

  4. (八)SpringBoot使用mybatis-plus+自动代码生成

    一.SpringBoot使用mybatis-plus+自动代码生成 使用mybatis-plus可以自动帮我们生成通用的 controller,service,dao,mapper 二.加入依赖 &l ...

  5. ssh断开后保持程序运行

    https://blog.csdn.net/gatieme/article/details/52777721 https://blog.51cto.com/zjking/1117828 https:/ ...

  6. jstl标签库jar包下载

  7. random 库

    random 是使用随机数的python 标准库 ——为随机数:采用梅森旋转算法生成的(伪)随机序列中的元素 —— import random 基本随机数函数:seed(),random() 扩展随机 ...

  8. shell学习(5)- sort

    Linux sort命令用于将文本文件内容加以排序. sort可针对文本文件的内容,以行为单位来排序. 参数如下: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排 ...

  9. PostgreSQL-4-DML数据操纵语言

    1.查询语句 \h SELECT  查看SELECT语句说明 基本语法 SELECT column1, column2, columnN FROM table_name;  查询单列/多列数据 SEL ...

  10. Django (九) 项目开发流程&项目架构

    项目开发流程&项目架构 1. 软件开发的一般流程 1. 需求分析及确认: 由需求分析工程师与客户确认甚至挖掘需求.输出需求说明文档. ​ 2. 概要设计及详细设计: 开发对需求进行概要设计,包 ...