「java集合筛选」java集合查找
本篇文章给大家谈谈java集合筛选,以及java集合查找对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 筛选数据方法
- 2、java 字符串过滤
- 3、初级java里数组合并或筛选
- 4、java 字符串处理与筛选
- 5、java中对List数据递归筛选
- 6、java从一对象集中筛选符合条件的数据
java 筛选数据方法
把药物的具体属性放到集合中,通过遍历集合与你输入的属性进行对比
java 字符串过滤
package test;
import java.util.HashMap;
/**
* maxLength-需要过滤最长字符串的长度
* filterStrsstring,string-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*"
* @author Administrator
*
*/
public class Test{
private int maxLength;
private HashMapString,String filterStrs=new HashMapString,String();
/**
* 初始化需要过滤掉*的数量
*/
private String initStr(int n){
StringBuffer sb=new StringBuffer();
for(int i=0;in;i++){
sb.append('*');
}
return sb.toString();
}
/**
* str-被过滤得字符串
* s-需要过滤得字符串
* 获得剩下未过滤的字符串
*/
private String getNextStr(String str,int start,int slength){
if(start==0){
str=str.substring(slength);
}else if(start+slengthstr.length()){
str=str.substring(start+slength);
}
return str;
}
/**
* str-被过滤得字符串
* s-需要过滤得字符串
* 获得过滤后的字符串
*/
private StringBuffer getFilterStr(StringBuffer sb,String str,int start,String s){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
return sb;
}
/**
* str-被过滤的字符串
* 过滤,并组合过滤后的字符串
*/
public String filter(String str) {
StringBuffer resultStr=new StringBuffer();
for(int start=0;startstr.length();start++){
for(int end=start+1;end=str.length()end=start+maxLength;end++){
String s=str.substring(start, end);
int slength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
return resultStr.toString();
}
public void put(String key) {
int keyLength=key.length();
filterStrs.put(key, initStr(keyLength));
if(keyLengththis.maxLength)
maxLength=keyLength;
}
public static void main(String[] agrs){
Test t=new Test();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNND TMDTNNDTNNDTNND"));
}
}
初级java里数组合并或筛选
如果不借助API。那么需要循环两次。第一次确定基数的个数,然后创建新数组
第二次为新数组赋值
import java.util.Arrays;
public class $ {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5, 6 };
int count = 0;
for (int i = 0; i arr.length; i++) {
if (i % 2 != 0) {
count++;
}
}
int[] brr = new int[count];
int idx = 0;
for (int i = 0; i arr.length; i++) {
if (i % 2 != 0) {
brr[idx++] = i;
}
}
System.out.println(Arrays.toString(brr));
}
}
java 字符串处理与筛选
1、提取关键字在字符串中的索引,构成一个索引数组;
2、索引数组排序;
3、替换,如第一个索引处的关键字提取到字符串首,将第一个索引处的关键字替换成第二个索引处的关键字,依次类推。
不知道这是不是你想要的效果!
java中对List数据递归筛选
这个很好写,无非就是list读写麻烦点,写一个递归方法
public listt findavg() {
for(int i=0;list){
sum += list[i];
}
avg=sum/list.size();
for(int i=0;list){
avg*(1-0.2)=list[i]=avg*(1+0.2)
list2.add(list[i]);
}
return list2;
}
java从一对象集中筛选符合条件的数据
你把15.6 和 50 分解开来了,但这两个值都是String的,而Product类的 public Product(String name, String num, int sellNum, int price) sellNum和price要求是 int,所以问题出在这里。 建议 price应定义为float,逻辑上价格不应该是int(当然如果只是为了练习,和种类型无所谓) 当你使用StringTokenizer分解了数据后,可以使用Interger.parseInt()或Float.parseFloat()方法将String转化成你想要的值。至于这两个方法怎么用,不用我说了吧,API doc^_^
关于java集合筛选和java集合查找的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。