「java找出子集」java数组子集
本篇文章给大家谈谈java找出子集,以及java数组子集对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java 求集合的所有非空子集
前几天刚回答了一个类似的问题
public class T{
public static void main(String[] args) {
String str="abcac" ;
//用Set集合保存结果,保证内容不重复
SetString set = new HashSetString();
//最外层循环控制指针移动位置 从 a 依次移动顺序 为 a b c a c
for(int i=0 ; istr.length() ; i++){
//从指针所在位置开始内层遍历
for(int k= i ; kstr.length() ; k++){
//从指针位置处开始截取字符串,直到截到 字符串结尾
String res = str.substring(i , k+1);
//如果当前字符串和原始字符串相同,不放入集合中,该种情况不是子串
if(res ==str) continue ;
set.add(res);
}
}
//遍历结果
for(String s : set){
System.out.println(s);
}
}
}
java怎么查找字符串中是否包含某个字段
方法:
1、描述:java.lang.String.contains() 方法返回true,当且仅当此字符串包含指定的char值序列
2、声明:如下图
3、返回值:此方法返回true,如果此字符串包含,否则返回false。
4、实例:如下图
Java 基础语法
一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
JAVA递归找所有子集
package web;
import java.util.ArrayList;
public class SubsetGenerator
{
int[] indexs = null;
int COUNT = 1;// choose how many to be combination
ArrayListString list = new ArrayListString ();
private String subsets;
public SubsetGenerator( String subsets )
{
this.subsets = subsets;
}
public ArrayListString getSubsets ( int... params )
{
if(params.length == 0)
{
indexs = new int[subsets.length ()];
params = new int[2];
params[0] = 0;
params[1] = -1;
list.add ("");
}
params[1]++;
if(params[1] COUNT - 1)
{
return list;
}
for( indexs[params[1]] = params[0]; indexs[params[1]] subsets.length (); indexs[params[1]]++ )
{
getSubsets (indexs[params[1]] + 1, params[1]);
if(params[1] == COUNT - 1)
{
String temp = "";
for( int i = COUNT - 1; i = 0; i-- )
{
temp += subsets.charAt (indexs[params[1] - i]);
}
list.add (temp);
}
}
if(COUNT subsets.length () params[0] == 0)
{
COUNT++;
getSubsets (0, -1);
}
return list;
}
}
package web;
import java.util.ArrayList;
import java.util.Collections;
public class SubsetGeneratorTester
{
public static void main ( String[] args )
{
SubsetGenerator generator = new SubsetGenerator ("rum");
ArrayListString subsets = generator.getSubsets ();
Collections.sort (subsets);
if(!"[, m, r, rm, ru, rum, u, um]".equals (subsets.toString ()))
{
System.err.println ("Expected: [, m, r, rm, ru, rum, u, um]");
}
else
{
System.err.println ("Congratulations !");
System.out.println ("Your result is: " + subsets);
}
}
}
java树级对象递归查找子集问题
package com.demo.dept;
/**
* @author dongbin.yu
* @from 2016-05-06
* @since V1.0
*/
public class Dept {
private int id;
private String name;
private int parentId;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getParentId() {
return parentId;
}
public void setParentId(int parentId) {
this.parentId = parentId;
}
public Dept(int id, String name, int parentId) {
this.id = id;
this.name = name;
this.parentId = parentId;
}
}
package com.demo.dept;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author dongbin.yu
* @from 2016-05-06
* @since V1.0
*/
public class DeptTest {
private static ListDept depts = new ArrayList();
static{
depts.add(new Dept(1,"部门1",0));
depts.add(new Dept(2,"部门2",1));
depts.add(new Dept(3,"部门3",1));
depts.add(new Dept(4,"部门4",1));
depts.add(new Dept(5,"部门5",2));
depts.add(new Dept(6,"部门6",3));
depts.add(new Dept(7,"部门7",2));
depts.add(new Dept(8,"部门8",2));
depts.add(new Dept(9,"部门9",1));
depts.add(new Dept(10,"部门10",5));
}
public static void main(String[] args) {
MapInteger, ListInteger deptMap = new HashMap();
for (Dept dept : depts) {
deptMap.put(dept.getId(),getChildDept(dept.getId()));
}
System.out.println(deptMap);
}
private static ListInteger getChildDept(int id){
ListInteger ids = new ArrayList();
for (Dept dept : depts) {
if(dept.getParentId() == id){
//添加第一次父id符合的
ids.add(dept.getId());
//添加嵌套父id符合的
ids.addAll(getChildDept(dept.getId()));
}
}
Collections.sort(ids);
return ids;
}
}
关于java找出子集和java数组子集的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。