① java bean 如何过滤某些属性进行深度克隆
序列化bean,先写入,后读出。这两个bean 就毫无关系了。但内容一模一样。
publicSerializableObject(Serializablesobj){
try{
ByteArrayOutputStreambos=newByteArrayOutputStream();
ObjectOutputStreamoos=newObjectOutputStream(bos);
oos.writeObject(sobj);
ByteArrayInputStreambis=newByteArrayInputStream(bos.toByteArray());
ObjectInputStreamois=newObjectInputStream(bis);
return(Serializable)ois.readObject();
}catch(Exceptione){
returnnull;
}
}
可以参考一下。不过 要求实现 Serializable接口。
原文:
http://tieba..com/p/3205322191
② JAVA有一个Bean的List。Bean里面包含三个字段。 编写一个程序,出力所有Bean, 重复的只需要出力一次。
你的意思是这个List里的bean有可能存在三个值都相同的是吗?
把你邮箱给我,我给你写,楼上的循环代码可读性差,我给你写个好点的
③ Java 中ArrayList<Object>如何去除其中重复的对象
去掉重复对象的方案很多, 比如利用set去重等.
参考代码
importjava.util.ArrayList;
importjava.util.HashSet;
publicclassTest{
publicstaticvoidmain(String[]args){
<Object>list=newArrayList<Object>();
list.add(8);
list.add(2);
list.add(8);
list.add(7);
list.add(6);
list.add(5);
list.add(2);
list.add(7);
System.out.println("原始集合"+list);
//方案1.不考虑list原始顺序的情况下
HashSet<Object>set=newHashSet<Object>(list);//把list作为参数放到HashSet的构造函数里,去掉重复元素
ArrayList<Object>result1=newArrayList<Object>(set);//把set作为参数放到ArrayList构造函数里
System.out.println(result1);//输出result1
//方案2考虑list的原始顺序
ArrayList<Object>result2=newArrayList<Object>();
for(inti=0;i<list.size();i++){
if(!result2.contains(list.get(i))){//如果没有重复元素,才添加进结果集合result2
result2.add(list.get(i));
}
}
System.out.println(result2);//输出result2
}
}
输出
原始集合[8,2,8,7,6,5,2,7]
[2,5,6,7,8]
[8,2,7,6,5]
④ Java两个List的过滤问题
packagetest;
importjava.util.ArrayList;
importjava.util.List;
publicclassA1
{
publicstaticvoidmain(String[]args)
{
<String>list1=newArrayList<String>();
list1.add("JSON--B--TEST");
list1.add("JSON--A--TEST");//deletethisitem
list1.add("JSON--C--TEST");
List<String>list2=newArrayList<String>();
list2.add("B");
list2.add("C");
Stringtemp=list2.toString().replaceAll("[\[\]\s]","").replaceAll("\,","|");
System.out.println(temp);
Stringreg="^.*("+temp+").*$";
for(inti=0;i<list1.size();i++)
{
if(!list1.get(i).matches(reg))
{
list1.remove(i);
}
}
System.out.println(list1.toString());
}
}
⑤ java中 list怎么去除多条数据
楼上的回答的都太不负责人了,自己不都不确定,怎么能把别人教清楚
一种是用循环,一个个移除,一种是用removeAll函数
我给出removeAll的例子
public static void main(String[] args)
{
List<Integer> listOne = new ArrayList<Integer>();
//add 8 elements
listOne.add(1);
listOne.add(2);
listOne.add(3);
listOne.add(4);
listOne.add(5);
listOne.add(6);
listOne.add(7);
listOne.add(8);
List<Integer> listTwo = new ArrayList<Integer>();
//add 4 elments
listTwo.add(2);
listTwo.add(3);
listTwo.add(4);
listTwo.add(5);
listOne.removeAll(listTwo);//remove the elements in listOne which also in listTwo
System.out.println(listOne);//result [1,6,7,8]
}
⑥ java 字符串过滤
packagetest;
importjava.util.HashMap;
/**
*maxLength-需要过滤最长字符串的长度
*filterStrs<string,string>-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要过滤掉*的数量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被过滤得字符串
*s-需要过滤得字符串
*获得剩下未过滤的字符串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被过滤得字符串
*s-需要过滤得字符串
*获得过滤后的字符串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被过滤的字符串
*过滤,并组合过滤后的字符串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}
⑦ javabean list中如何取出一个
迭代取值,迭代过程中将name值放到数组中
⑧ ArrayList中字符串的过滤
import java.util.*;
public class Doc {
public static void main(String[] args) {
();
}
public static void test() {
int[] num = new int[] { 1, 4, 5, 7, 8, 9 };
List<User> list = getListUser();
List<User> newlist = new ArrayList<User>();
// 双层循环将数据里的元素和集合中的元素逐个取出,用于对比
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < list.size(); j++) {
// 当数组中的元素等于user的id时将对应的name改值,并存入新的集合中
if (num[i] == list.get(j).getId()) {
list.get(j).setName(list.get(j).getName() + "pipei");
newlist.add(list.get(j));
}
}
}
for (int i = 0; i < newlist.size(); i++) {
System.out.println(newlist.get(i).getId() + "\t"
+ newlist.get(i).getName());
}
}
public static List<User> getListUser() {
List<User> list = new ArrayList<User>();
User user1 = new User();
user1.setId(1);
user1.setName("abc");
list.add(user1);
User user2 = new User();
user2.setId(2);
user2.setName("123");
list.add(user2);
User user3 = new User();
user3.setId(3);
user3.setName("asd");
list.add(user3);
User user4 = new User();
user4.setId(4);
user4.setName("qwe");
list.add(user4);
User user5 = new User();
user5.setId(5);
user5.setName("fds");
list.add(user5);
User user6 = new User();
user6.setId(6);
user6.setName("';.");
list.add(user6);
User user7 = new User();
user7.setId(7);
user7.setName("```");
list.add(user7);
User user8 = new User();
user8.setId(8);
user8.setName("!@#");
list.add(user8);
User user9 = new User();
user9.setId(9);
user9.setName("~~~");
list.add(user9);
User user10 = new User();
user10.setId(10);
user10.setName("777");
list.add(user10);
return list;
}
}
class User {
private int id;
private String name;
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;
}
}
⑨ java的一个dto对象中有个List<bean> list,想往list对象中用这种方法dto.
可以的,你定义一个全局的list并且实例化,然后你的dto对象所在的类里面的getList方法返回这个list对象。然后专这个list的add方法添加对象没问题的。
在dto 所在类的文件里面定义个private List<bean> list = new ArrayList<bean>();
再写一个公共方法获取这个list
public List<bean> getList()
{
return list;
}
这样你在别的类里面只要拿到这个类的对属象,调用getList()拿到的就是一个list对象。然后就可以执行list对应的方法。
dto.getList.add(bean);
⑩ java 怎么删除List中的指定元素
主要有三种方法:
用一个List 记录要删除的数据,最后removeAll(List);