I have list which hold records of an object "XYZ"
I have an id of a record of "XYZ" object which should display in list[0] and remaining records next
I am displaying the records using wrapper class.
how would i add the matched record to list of zero
I am adding the records to wrapper class in following way
wrapperlist(v,g,xyz);
where v and xyz are objects and g is list of string
if(xyz.id==r){
if(WrapperList.isEmpty()){
WrapperList.set(0,new VWrappers(v,G,xyz));
}
}else {
WrapperList.add(new VWrappers(v,G,xyz));
}
but this would remove and replace it, The initial list[0] is lost
============================================================================
I am using standard set controller for pagination
con = new ApexPages.StandardSetController(Database.query(query));
I am passing the records to a wrapper class and displaying the records on the vf page
I want the replace replace the list[0] so that i can display records of my choice intially
Attribution to: user6833
Possible Suggestion/Solution #1
You can use a combination of list methods.
//start context
list<string> lst= new list<string>{'aa','bb','cc','dd'};
string var = 'cc';
//find the index of var
integer index;
for(integer i =0;i< lst.size();i++){
if(var==lst[i]) index=i;
}
//may want to throw an exception if index is still null
list<string> tempLst = lst.clone();//backup your collection
lst.clear(); //empty your collection
lst.add(tempLst[index]); //retrieve your desired record and put it on index 0
tempLst.remove(index); //remove your record from the old collection
lst.addAll(tempLst); //add the other data to your list
system.debug(lst); /// |USER_DEBUG|[22]|DEBUG|(cc, aa, bb, dd)
But, logic like this might imply you should consider exploring the apex map collection type and its methods. Know you can use the map.values() property to still reference it as a list, or can directly iterate over a map in Visualforce too.
Attribution to: Samuel De Rycke
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/32274