arraylist

activiti6.0回退

荒凉一梦 提交于 2020-01-19 17:32:21
ACTIVITI6.0任意回退核心代码段 BpmnModel bpmnModel = processEngine.getRepositoryService().getBpmnModel(currentTask.getProcessDefinitionId()); FlowNode targetFlowNode = (FlowNode) bpmnModel.getMainProcess().getFlowElement(myActivityId); FlowNode flowNode = (FlowNode) bpmnModel.getMainProcess().getFlowElement(execution.getActivityId()); //记录原活动方向 List<SequenceFlow> oriSequenceFlows = new ArrayList<SequenceFlow>(); oriSequenceFlows.addAll(flowNode.getOutgoingFlows()); //清理活动方向 flowNode.getOutgoingFlows().clear(); //建立新方向 List<SequenceFlow> newSequenceFlowList = new ArrayList<SequenceFlow>(); SequenceFlow

map排序返回字符串

孤街浪徒 提交于 2020-01-19 17:04:13
package com.p2p.util; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; /** * 集合排序 * @author shamee-loop * */ public class SortUtils { /** * 按英文首字母排序 * @param arrayToSort */ private static String sortStringArray(List<String> arrayList) { System.out.println("字符型数组排序,排序前:"); String result = ""; for (int i = 0; i < arrayList.size(); i++) { System.out.print(arrayList.get(i) + ","); } System.out.println(); System.out.println("排序后:"); // 调用数组的静态排序方法sort,且不区分大小写 // Arrays.sort(arrayToSort, String.CASE

java int与integer的区别

我的梦境 提交于 2020-01-19 11:55:19
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null. 2.初始化时:   int i =1;Integer i= new Integer(1);(要把integer 当做一个类看);但由于有了自动装箱和拆箱   ( http://www.cnblogs.com/shenliang123/archive/2012/04/16/2451996.html ),   使得对Integer类也可使用:Integer i= 1;       int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充),Integer 是一个类,是int的扩展,定义了很多的转换方法   类似的还有:float Float;double Double;string String等,而且还提供了处理 int 类型时非常有用的其他一些常量和方法   举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的

集合

我与影子孤独终老i 提交于 2020-01-19 03:46:01
关于集合 1. List 1.1 当使用list.subList()方法切分list时,返回结果是原list的一个 视图 ,并非真正的list对象,故无法对将该视图强转成为ArrayList, 解决方法: 使用Lists.newArrayList方法, 创建ArrayList对象 来源: CSDN 作者: 不tong 链接: https://blog.csdn.net/Anly_jia/article/details/103915914

剑指offer——java刷题总结【三】

最后都变了- 提交于 2020-01-19 03:36:07
Note 题解汇总: 剑指offer题解汇总 代码地址: Github 剑指offer Java实现汇总 点击目录中的题名链接可直接食用题解~ 有些解法博文中未实现,不代表一定很难,可能只是因为博主太懒```(Orz) 如果博文中有明显错误或者某些题目有更加优雅的解法请指出,谢谢~ 目录 题号 题目名称 21 栈的压入、弹出序列 22 从上往下打印二叉树 23 二叉搜索树的后序遍历序列 24 二叉树中和为某一值的路径 25 复杂链表的复制 26 二叉搜索树与双向链表 27 字符串的排列 28 数组中出现次数超过一半的数字 29 最小的K个数 30 连续子数组的最大和 正文 21、栈的压入、弹出序列 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 题目分析 解法一: 设置一个指向pop数组的index指针,遍历push数组,针对每一个遍历值做如下操作: 1、将当前遍历值压入栈中; 2、查看栈顶元素和pop数组的当前弹出值是否相等,如果相等则模拟出栈操作,将stack的栈顶元素弹出,并对pop数组的指针进行后移

Java设计模式详解-迭代器模式

你说的曾经没有我的故事 提交于 2020-01-18 18:55:29
1 概念 1.1 定义 提供一种方法,顺序访问同一集合对象中的各个元素,而又不暴露该对象的内部表示 1.2 类型 行为型 迭代器模式(Iterator Pattern) 目前已经是一个没落的模式,基本上没人会单独写一个迭代器,除非是产品性质的开发,其定义如下: Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.(它提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。) 迭代器是为容器(能容纳对象的所有类型都可以称之为容器,例如Collection、Set等)服务的,迭代器模式就是为解决遍历这些容器中的元素而诞生的 1.3 通用类图 迭代器模式提供了遍历容器的方便性,容器只要管理增减元素就可以了,需要遍历时交由迭代器执行 1.4 角色 Iterator抽象迭代器 抽象迭代器负责定义访问和遍历元素的接口,而且基本上是有固定的3个方法: first()获得第一个元素 next()访问下一个元素 hasNext()是否已经访问到底部 ConcreteIterator具体迭代器 具体迭代器角色要实现迭代器接口,完成容器元素的遍历。 Aggregate抽象容器

《程序员面试宝典》解题报告1-牛客

馋奶兔 提交于 2020-01-18 04:27:31
比较经典的一些题: 4、6、7、8、9、10、11、12、13、19、20、22、25、28、29、30 1.确定字符互异 题目描述 请实现一个算法,确定一个字符串的所有字符是否全都不同。这里我们要求不允许使用额外的存储结构。 给定一个string iniString,请返回一个bool值,True代表所有字符全都不同,False代表存在相同的字符。保证字符串中的字符为ASCII字符。字符串的长度小于等于3000。 测试样例: “aeiou” 返回:True “BarackObama” 返回:False import java . util . * ; public class Different { public boolean checkDifferent ( String iniString ) { // write code here char [ ] arr = iniString . toCharArray ( ) ; Arrays . sort ( arr ) ; for ( int i = 1 ; i < arr . length ; i ++ ) { if ( arr [ i ] == arr [ i - 1 ] ) return false ; } return true ; } } 2、原串翻转 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下

Java集合框架(四)

*爱你&永不变心* 提交于 2020-01-18 02:45:05
Collections 集合框架的工具类 着重讲解以下方法: 1、sort(): 1º根据元素的自然顺序对指定列表按升序进行排序,列表中的所有元素都必须实现comparable接口。 public static <T extends Comparable<? super T>> void sort(List<T> list) 2º根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较。 public static <T> void sort(List<T> list, Comparator<? super T> c) 2、max(): 1º根据元素的自然顺序,返回给定collection的最大元素。collection中的所有元素都必须实现comparable接口。 public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) 2º根据指定比较器产生的顺序,返回给定collection的最大元素。collection中的所有元素都必须可通过指定比较器相互比较。 public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)

接口 and 抽象类

蓝咒 提交于 2020-01-18 01:21:43
java面试分享-------接口和抽象类的含义和区别 先来看定义: 接口 是对行为的抽象,它是抽象方法的集合,利用接口可以达到API定义和实现分离的目的。接口,不能实例化;不能包含任何非常量成员,任何feld都是隐含着public static final的意义;同时,没有非静态方法实现,也就是说要么是抽象方法,要么是静态方法。 抽象类 是不能实例化的类,用abstract关键字修饰class,其目的主要是代码重用。除了不能实例化,形式上和一般的Java类并没有太大区别,可以有一个或者多个抽象方法,也可以没有抽象方法。抽象类大多用于抽取相关Java类的共用方法实现或者是共同成员变量,然后通过继承的方式达到代码复用的目的。 具体来说,接口就是 行为的抽象,就是你能做什么的抽象,而抽象类是你是由什么做的。 比如 ArrayList ,源码里面是这样的: public class ArrayList < E > extends AbstractList < E > implements List < E > , RandomAccess , Cloneable , java . io . Serializable 其中,继承了一个抽象类和四个接口。 抽象类要怎么写呢?来看看 ArrayList 的继承的抽象类 AbstractList : public abstract class

ArrayList 与 Vector 区别

做~自己de王妃 提交于 2020-01-18 00:05:56
ArrayList 与 Vector 区别 同步性:Vector是线程安全的,它是同步的;ArrayList不是线程安全的,意味着它不是同步的。 数据增长:当需要增长时,Vector 默认增长为原来一倍 ,而 ArrayList 却是原来的 50% ,这样 ArrayList 就有利于节约内存空间。 如果涉及到堆栈,队列等操作,应该考虑用 Vector,如果需要快速随机访问元素,应该使用 ArrayList 来源: CSDN 作者: 量子计算机牛逼 链接: https://blog.csdn.net/qq_41877948/article/details/104018579